2010-04-04 58 views
0

我正处于iPhone应用程序中,需要有4个独立的UITableView对象共享访问上述UITableView对象的第一部分和第一行中的一个UISearchBar在4个独立的UITableViews上持久保存单个UISearchBar实例

我试图将UITableView的帧偏移44像素,然后将搜索栏添加为我的UIViewControllerview的子视图。这一工程,但我不能使用表指数最高滚动到搜索栏,因为它不是在tableview中的单元格。我需要在表格视图中拥有搜索栏。

我的目标是具有相同UISearchBar在多个tableviews的第一部分。

非常感谢。

回答

3

如前所述,您可能希望将搜索栏放置在UITableViewtableHeaderView属性中,该属性会将其置于表格的顶部,而无需执行手动定位。不过,我不确定这是如何与索引一起工作的。

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

如果你真想把搜索栏的第一个单元格,而不是表头,你可以做这样的事情:

- (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; 
} 

但是把搜索栏的表头是更通用的,而且更容易管理。

1

你它们之间进行切换你可以简单地添加的UISearchBar每个的tableView的头视图。

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

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

相关问题