분할보기 컨트롤러를 사용하는 iPad 앱이 있습니다. 마스터보기에는 스토리 보드에 정의 된 사용자 정의 테이블 셀을 사용하여 표시된 항목 목록이 있습니다.내 UISearchDisplayController가 내 사용자 지정 tableViewCell을 사용하지 않는 이유는 무엇입니까?
Xcode에서 선택한 어두운 배경으로 예상대로 셀이 표시됩니다.
나는 UISearchBar
과 UISearchDisplayController
을 사용하고 있습니다.
검색을 시작하면 목록이 표준 흰색 테이블 셀로 변경됩니다.
사용자 정의 셀을 사용하도록 SearchDisplayController를 얻으려면 어떻게해야합니까? 이것은 전체 목록 또는 필터링 된 목록 중 하나를 제시 내 테이블 뷰 처리에 의해
- (BOOL)searchDisplayController:(UISearchDisplayController *)controller
shouldReloadTableForSearchString:(NSString *)searchString
{
[self filterAvailableChannelsForSearchText:searchString scope:[[self.searchDisplayController.searchBar scopeButtonTitles] objectAtIndex:[self.searchDisplayController.searchBar selectedScopeButtonIndex]]];
[self.searchDisplayController.searchBar selectedScopeButtonIndex]]];
return YES;
}
를 사용 : 나는 검색 필드에 입력 할
는 콜백 필터링 된 결과의 목록을 업데이트합니다. CellIdentifier는 셀의 스토리 보드의 ID를 일치 :
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
if (tableView == self.searchDisplayController.searchResultsTableView)
return [self.filteredAvailableChannel count];
else
return [[self availableChannelList] count];
}
- (UITableViewCell *)tableView:(UITableView *)tableView
cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
static NSString *CellIdentifier = @"AvailableChannelCell";
FVAvailableChannelCell *cell = [self.tableView dequeueReusableCellWithIdentifier:CellIdentifier];
// Configure the cell...
FVChannel *channel = nil;
int row = [indexPath row];
if (tableView == self.searchDisplayController.searchResultsTableView)
channel = [self.filteredAvailableChannel objectAtIndex:row];
else
channel = [[self availableChannelList] objectAtIndex:row];
cell.idLabel.text = channel.channelID;
cell.nameLabel.text = channel.channelName;
cell.unitLabel.text = channel.unitName;
return cell;
}
왜 내 사용자 정의 세포를 사용하여 내 searchDisplayController하지? 31Jul12 업데이트]
: 더블, 트리플이 (올바른 것 같다) 모든 스토리 보드 연결을 확인한 후
, 나는
내가 실제로 해요 것을 알 수 있습니다 뭔가 ... 눈치 을 얻기 사용자 정의 셀 - 그냥 루크 표준 셀처럼.
내가 수정 한 후 tableView:heightForRowAtIndexPath:
나는 뭔가를 알아 챘다. 셀을 선택하면 사용자 정의 셀이 있음을 알 수 있지만 사용자 정의 셀의 배경색을 무시하는 것으로 보이기 때문에 표준 흰색 배경 위에 사용자 정의 흰색 텍스트를 가져 와서 빈 셀.
사용자 정의 셀 클래스에있는 initWithStyle:reuseIdentifier:
의 중단 점이 결코 맞지 않으므로 무언가가 올바르지 않습니다. 에
모든 포인터 :
나는 SearchResultsController의 세포 내 사용자 정의 배경색을 얻을 실종 무엇- ?
- 내 사용자 정의 셀의 initWithStyle이 왜 안 맞나요? 스토리 보드에있는 셀의 클래스로 설정됩니다. 다음과 같은 게시물과 함께 애플 개발자 포럼에
와우. 10 일 후 내 자신의 질문에 답하기위한 투표를하겠습니다. 나는 여전히 정답이라고 생각합니다. 누군가는 그들의 약에 돌아올 필요가있다. – Thompsonian