我使用UISearchDisplayController進行搜索,並希望讓更多的元素添加到每個單元格,如果這是可能的。做了一些搜索,但找不到任何信息。唯一的方法是用tableview來重現它。是否有任何其他的屬性我可以設置其他然後textlabel.text有沒有一種方法來定製UISearchDisplayController細胞
提前感謝!
我使用UISearchDisplayController進行搜索,並希望讓更多的元素添加到每個單元格,如果這是可能的。做了一些搜索,但找不到任何信息。唯一的方法是用tableview來重現它。是否有任何其他的屬性我可以設置其他然後textlabel.text有沒有一種方法來定製UISearchDisplayController細胞
提前感謝!
是的,你可以設置cell.imageView,cell.accessoryView,cell.BackGroundView ..等
閱讀更多信息
很有可能這個UITableViewCell文檔。所有的tableView數據源方法都使用tableView參數來調用。如果
if (tableView == searchController.searchResultsTableView)
然後通過添加子視圖或自定義屬性來更改單元格。在這種情況下,同樣的方法適用於自定義單元格。
您可以完全改變細胞。
如下片段依賴於UITableCell,ANormalCell & ASearchCell的兩個子類。
警告:此代碼尚未編制,但你的要點?
-(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
static NSString *normalCellReuseIdentifier = @"ANormalCell";
static NSString *searchCellReuseIdentifier = @"ASearchCell";
UITableViewCell* cell = nil;
if (tableView != self.searchDisplayController.searchResultsTableView) {
cell = (ANormalCell*)[self.tableView dequeueReusableCellWithIdentifier:normalCellReuseIdentifier];
if (cell == nil) {
NSArray* topLevelObjects = [[NSBundle mainBundle] loadNibNamed:@"ANormalCell" owner:nil options:nil];
cell = (ANormalCell*)[topLevelObjects objectAtIndex:0];
}
} else {
cell = (ASearchCell*)[self.tableView dequeueReusableCellWithIdentifier:searchCellReuseIdentifier];
if (cell == nil) {
NSArray* topLevelObjects = [[NSBundle mainBundle] loadNibNamed:@"ASearchCell" owner:nil options:nil];
cell = (ASearchCell*)[topLevelObjects objectAtIndex:0];
}
}
return cell;
}
非常感謝您的答覆!我設置detailtextlabel.text並沒有顯示,所以我認爲它不可能自定義單元格。我厭倦了imageview,它的工作原理。順便說一句有一種方法來定製界面生成器中的單元格,或者我將不得不以編程方式創建它? – Yan