Iphone 跨4个独立的UITableView持久化单个UISearchBar实例
我正在开发一款iPhone应用程序,它需要4个独立的Iphone 跨4个独立的UITableView持久化单个UISearchBar实例,iphone,cocoa-touch,uitableview,uisearchbar,Iphone,Cocoa Touch,Uitableview,Uisearchbar,我正在开发一款iPhone应用程序,它需要4个独立的UITableView对象,共享对上述UITableView对象第一部分和第一行中一个UISearchBar对象的访问权限 我尝试将UITableView的帧偏移44像素,然后将搜索栏添加为我的UIViewController的视图的子视图。这是可行的,但我不能使用表索引向上滚动到搜索栏,因为它不是tableview中的单元格。我需要在表视图中设置搜索栏 我的目标是在多个TableView的第一部分中使用相同的UISearchBar 非常感谢。
UITableView
对象,共享对上述UITableView
对象第一部分和第一行中一个UISearchBar
对象的访问权限
我尝试将UITableView
的帧偏移44像素,然后将搜索栏添加为我的UIViewController
的视图的子视图。这是可行的,但我不能使用表索引向上滚动到搜索栏,因为它不是tableview中的单元格。我需要在表视图中设置搜索栏
我的目标是在多个TableView的第一部分中使用相同的UISearchBar
非常感谢。在切换每个tableView时,只需添加UISearchBar作为每个tableView的标题视图即可
[oldTableView setTableHeaderView:nil];
[newTableView setTableHeaderView:searchBar];
当然,我完全有可能误解了你的意图。如果是这种情况,请详细说明。您可以在切换每个tableView时简单地添加UISearchBar作为每个tableView的标题视图
[oldTableView setTableHeaderView:nil];
[newTableView setTableHeaderView:searchBar];
当然,我完全有可能误解了你的意图。如果是这种情况,请详细说明。如前所述,您可能希望将搜索栏放在UITableView
的tableHeaderView
属性中,这样就可以将其放在表的顶部,而无需手动定位。不过,我不确定这对索引是如何起作用的
至于共享一个UISearchBar
,我想不出一个好的理由来代替为每个表视图共享一个——内存差异应该可以忽略不计,设置和取消设置委托等等可能是一个严重的麻烦。你想共享搜索栏有什么特别的原因吗?如果需要持久性,可以将搜索栏文本保存在viewwilldiscover
中,并在viewwilldisease
中进行设置
如果您确实想将搜索栏放在第一个单元格中,而不是放在表格标题中,可以执行以下操作:
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
UITableViewCell *cell = //etc, normal cell creation
if (indexPath.section == 0 && indexPath.row == 0) {
[cell addSubview:self.searchBar];
}
return cell;
}
但在表格标题中放置搜索栏更为常见,也更易于管理 如前所述,您可能希望将搜索栏放在UITableView
的tableHeaderView
属性中,这样就可以将其放在表格顶部,而无需手动定位。不过,我不确定这对索引是如何起作用的
至于共享一个UISearchBar
,我想不出一个好的理由来代替为每个表视图共享一个——内存差异应该可以忽略不计,设置和取消设置委托等等可能是一个严重的麻烦。你想共享搜索栏有什么特别的原因吗?如果需要持久性,可以将搜索栏文本保存在viewwilldiscover
中,并在viewwilldisease
中进行设置
如果您确实想将搜索栏放在第一个单元格中,而不是放在表格标题中,可以执行以下操作:
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
UITableViewCell *cell = //etc, normal cell creation
if (indexPath.section == 0 && indexPath.row == 0) {
[cell addSubview:self.searchBar];
}
return cell;
}
但在表格标题中放置搜索栏更为常见,也更易于管理