在4个独立的UITableView中保留单个UISearchBar实例

时间:2010-04-04 05:18:05

标签: iphone cocoa-touch uitableview uisearchbar

我正处于iPhone应用中,需要有4个独立的UITableView个对象,可以在第一部分和上述UISearchBar个对象的第一行中共享一个UITableView的访问权限

我试图将UITableView的帧偏移44像素,然后将搜索栏添加为UIViewController的{​​{1}}的子视图。这是有效的,但我无法使用表索引向上滚动到搜索栏,因为它不是tableview中的单元格。我需要在表格视图中设置搜索栏。

我的目标是在多个tableviews的第一部分中使用相同的view

非常感谢。

2 个答案:

答案 0 :(得分:3)

如前所述,您可能希望将搜索栏放在tableHeaderView的{​​{1}}属性中,这会将其置于表格的顶部,而无需进行手动定位。不过,我不确定这对索引是如何工作的。

至于共享一个UITableView,我想不出一个很好的理由而不是每个表视图都有一个 - 内存差异应该可以忽略不计,设置和取消设置委托和什么可能是一个严重的麻烦。你想分享搜索栏有什么特别的原因吗?如果您想要持久性,可以将搜索栏文本保存在UISearchBar中,并将其设置为viewWillDisappear

如果你真的想把搜索栏放在第一个单元格而不是表格标题中,你可以这样做:

viewWillAppear

但是在表头中放置一个搜索栏更为常见,而且更容易管理。

答案 1 :(得分:1)

当你在它们之间切换时,你可以简单地将UISearchBar添加为每个tableView的标题视图。

[oldTableView setTableHeaderView:nil];
[newTableView setTableHeaderView:searchBar];

当然,我完全有可能误解了你想要做的事情。如果是这种情况,请详细说明。