背景iOS 5的搜索顯示控制器和的UITableViewController
的重用我有一個iPhone應用程序,通過子每次使用再分級利用了UITableViewController
子類的幾個地方。其中一種用途是搜索控制器。
@interface TableViewController : UITableViewController
// ...
@interface SearchTableViewController : TableViewController <UISearchDisplayDelegate, UISearchBarDelegate>
在故事板編輯我在,使得使用的TableViewController
每個視圖相同的表視圖,細胞結構,和重用標識符。到處都是我使用的故事板根據我的設計時間原型生成單元格,因此在tableView:cellForRowAtIndexPath:
方法中我不必包含if (cell == nil)
部分。
問題
我做錯了什麼,而不是由其他人一樣的故事板產生我的搜索控制器的細胞。起初,我在if (cell == nil)
位中添加了一個來解決這個問題,但它會導致我的搜索顯示空行。實際上,搜索會顯示正確的空白行數。取消搜索後,結果將從背景中出現。下面是TableViewController
代碼:
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
static NSString *CellIdentifier = @"Cell";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (cell == nil) {
cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier];
}
ModelObject* obj = [self.dataSource modelAtIndex:indexPath.row];
UILabel* name = (UILabel*) [cell viewWithTag:1];
name.text = obj.name;
return cell;
}
我懷疑有可能是必要的,以確定問題的其他細節,但是,什麼樣的事情可能會導致這將是有幫助的任何提示。謝謝。