我正在构建一个基于Three20 TTCatalog样本的TTTableViewController
子类。在那里,他们定义了一个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子类中重新实现相同类型的功能。问题是我无法显示搜索栏。
在TTCatalog SearchTestController的loadView
中运行这些(在最后一行之后)
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>>
当我在我的应用程序中运行相同的NSLog时,我得到了这个:
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>>
图层在我的应用中也有相同的内存地址,但搜索栏在表格视图标题中不可见。我还缺少其他的东西吗?