1

我正在构建一个TTTableViewController基于 Three20 TTCalog 示例的子类。他们在那里定义了一个TTTableViewController具有搜索功能的子类,称为SearchTextController,并且它有一个搜索栏出现在表视图标题中。

这是他们的loadView方法的样子:

- (void)loadView {
  [super loadView];

  TTTableViewController* searchController = [[[TTTableViewController alloc] init] autorelease];
  searchController.dataSource = [[[MockSearchDataSource alloc] initWithDuration:1.5] autorelease];
  self.searchViewController = searchController;
  self.tableView.tableHeaderView = _searchController.searchBar;
}

我试图在我自己的 TTTableView 子类中重新实现相同的功能。问题是我无法显示搜索栏。

loadView在TTCalog SearchTestController中运行这些(在最后一行之后)

 NSLog(@"_searchController.searchBar address %@",_searchController.searchBar.description);
 NSLog(@"self.tableView.tableHeaderView address %@",self.tableView.tableHeaderView.description);

为层产生相同的内存地址(意味着视图设置正确)

2012-07-03 12:00:02.326 TTCatalog[53493:f803] _searchController.searchBar address <UISearchBar: 0x6a5c940; frame = (0 0; 320 44); layer = <CALayer: 0x6a5ca40>>
2012-07-03 12:00:02.327 TTCatalog[53493:f803] self.tableView.tableHeaderView address <UISearchBar: 0x6a5c940; frame = (0 0; 320 44); layer = <CALayer: 0x6a5ca40>>

当我在我的应用程序中运行相同的 NSLogs 时,我得到了这个:

2012-07-03 11:41:54.900 myApp[51991:f803] _searchController.searchBar address <UISearchBar: 0x6a43c20; frame = (0 0; 320 44); layer = <CALayer: 0x6a43ce0>>
2012-07-03 11:41:54.901 myApp[51991:f803] self.tableView.tableHeaderView address <UISearchBar: 0x6a43c20; frame = (0 0; 320 44); layer = <CALayer: 0x6a43ce0>>

这些图层在我的应用程序中也具有相同的内存地址,但搜索栏在表格视图标题中不可见。我在这里还缺少什么吗?

4

0 回答 0