2010-04-04 49 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]; 

當然,我錯誤地理解了你想要做的事情是完全可能的。如果是這樣,請詳細說明。

相關問題