使用Three20 TTTableViewController时出现奇怪的表视图标题问题

时间:2012-07-03 19:06:40

标签: ios cocoa-touch ios5 uikit three20

我正在构建一个基于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>>

图层在我的应用中也有相同的内存地址,但搜索栏在表格视图标题中不可见。我还缺少其他的东西吗?

0 个答案:

没有答案