2012-12-30 3 views
4

결과가없는 UITableView에서 검색 한 후 "No results"텍스트를 "Not Match ..."로 변경하고 싶습니다. 그러나 찾을 수 없습니다. 도움을 청하십시오!tableview에서 검색 할 때 "결과가 없음"텍스트를 변경하는 방법은 무엇입니까?

- (void)searchBarTextDidEndEditing:(UISearchBar *)searchBar{ 
if ([self.webSearchData count] == 0) { 

      for (UILabel *label in self.searchTable.subviews) { 
       if (label.text = @"No Results") { 
        label.text = @"Not Match"; 
       } 
      } 
} 
} 
+2

을 변경할 수있는 지원 방법은 없습니다. 그러나 이것을 확인하십시오 http://stackoverflow.com/questions/3451945/uitableview-change-no-results-message – Breakpoint

답변

2

는 "결과 없음"레이블을 갖는 텍스트 사용자 정의보기를 작성하지 않고 검색 쿼리 값을 포함하지 때마다로드 : 여기

enter image description here

몇 가지 코드입니다.

+0

어쩌면 이런 식으로. 나는이 질문을하기 전에 누군가가 직접 설정하는 방법을 알고 있다고 생각합니다. –

+0

나는 ios에 없다. 그러나 자세히는 모른다. 그러나 내가 아스웨어를 찾았을 때 애플은 그것을 제공하지 않는다고 말했다. 따라서 구현하고자하는 경우 위의 이동과 함께 "No Results"가 표시되는 기능/클래스를 확장하십시오. –

2

루프 파단 통해 그 안에 UILabel의 추구하고 우리가 확인을 추구하는 자사의 하위 뷰가 문자열/텍스트가 "어떤 결과"일치 없다는 것을 더 명확히하기.
일치하는 경우 텍스트를 "일치하지 않음"으로 변경하면됩니다.

또는

또는 사용자가 검색 버튼을 누를 때까지 당신은 아직도 기다리고있는 빈 셀이 하나의 행을 표시

.

+0

분명히 할 수 있겠습니까? 이 하위 뷰가 속한 뷰를 찾을 수 없습니다. –

+0

물론 이죠, 코드를 공유 할 수 있습니까? – yunas

+0

텍스트 "No Results"가 포함 된 뷰를 검색하려면 "searchResultsTableView 's"하위 뷰를 반복해야합니다. – yunas

3

낡은 스레드이지만 같은 문제가있는 사람은 다음과 같이 해보십시오.

- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section 
{ 
    if (tableView == _searchDisplayController.searchResultsTableView) { 
     if (_searchResults.count == 0) { 
      for (UIView *view in tableView.subviews) { 
       if ([view isKindOfClass:[UILabel class]]) { 
        ((UILabel *)view).text = @"YOUR_TEXT"; 
       } 
      } 
     } 

     return _searchResults.count; 
    } else { 
     return (_items.count == 0) ? 0 : _items.count; 
    } 
} 
0

Info.plist에서 지역화 기본 개발 영역을 변경하면 문자열이 자국어 버전으로 바뀝니다. 예 :로 변경하면 그것은 "Keine Ergebnisse"가 될 것입니다. 이것은 iOS 9에서 테스트되었습니다. 국제화를 통해 텍스트를 변경하려고 할 수 있습니다. 어쩌면이 스레드를 읽고 검색하는 사람들에게 도움이 될 수 있습니다.

관련에 : searchDisplayController: change the label "No Results"

관련 문제