0

분할보기 컨트롤러를 사용하는 iPad 앱이 있습니다. 마스터보기에는 스토리 보드에 정의 된 사용자 정의 테이블 셀을 사용하여 표시된 항목 목록이 있습니다.내 UISearchDisplayController가 내 사용자 지정 tableViewCell을 사용하지 않는 이유는 무엇입니까?

Xcode에서 선택한 어두운 배경으로 예상대로 셀이 표시됩니다.

나는 UISearchBarUISearchDisplayController을 사용하고 있습니다.

검색을 시작하면 목록이 표준 흰색 테이블 셀로 변경됩니다.

사용자 정의 셀을 사용하도록 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의 세포 내 사용자 정의 배경색을 얻을 실종 무엇
  1. ?
  2. 내 사용자 정의 셀의 initWithStyle이 왜 안 맞나요? 스토리 보드에있는 셀의 클래스로 설정됩니다. 다음과 같은 게시물과 함께 애플 개발자 포럼에

답변

-1

피드백이 도움이되었다 : 한마디로

How to customize the background color of a UITableViewCell?

, tableView:willDisplayCell:을 무시하고 당신이 적절하게 배경 색상을 설정할 수 있습니다.

+0

와우. 10 일 후 내 자신의 질문에 답하기위한 투표를하겠습니다. 나는 여전히 정답이라고 생각합니다. 누군가는 그들의 약에 돌아올 필요가있다. – Thompsonian