4
사용자가 검색 창을 탭하고 텍스트를 입력하지 않은 상태에서 화면이 어두워졌지만 (아직 테이블 뷰가 표시되지 않은 경우) 화면에 버튼을 추가하여 사용자가 다른 기능으로 이동합니다. 그게 가능하니?UISearchDisplayController에 단추를 삽입 할 수 있습니까?
감사합니다.
사용자가 검색 창을 탭하고 텍스트를 입력하지 않은 상태에서 화면이 어두워졌지만 (아직 테이블 뷰가 표시되지 않은 경우) 화면에 버튼을 추가하여 사용자가 다른 기능으로 이동합니다. 그게 가능하니?UISearchDisplayController에 단추를 삽입 할 수 있습니까?
감사합니다.
이것은 매우 까다 롭습니다. _dimmingView는 searchDisplayController에 대해 private이며 모든 하위 뷰보다 우선합니다. 당신이 할 수있는 것은 사용자 정의보기로는 ([되는 searchString 길이] == 0 DidBeginSearch)
(tempView의 프레임이 테이블의 tableViewHeader에 배치 UISearchBar 설정되어)
- (void)viewDidLoad {
tempView = [[UIView alloc] initWith...];
// tempView setup
...
}
- (void)searchDisplayControllerDidBeginSearch:(UISearchDisplayController *)controller {
[tempView setFrame:CGRectMake(0, self.searchDisplayController.searchBar.frame.size.height, 320, self.searchDisplayController.searchResultsTableView.frame.size.height)];
[self.searchDisplayController.searchContentsController.view addSubview:tempView];
...
}
- (BOOL)searchDisplayController:(UISearchDisplayController *)controller shouldReloadTableForSearchString:(NSString *)searchString
{
if ([searchString length] == 0)
[self.searchDisplayController.searchContentsController.view addSubview:tempView];
else
[tempView removeFromSuperview];
...
}
- (void)searchDisplayControllerDidEndSearch:(UISearchDisplayController *)controller {
if (tempView && tempView.superview)
[tempView removeFromSuperview];
...
}
노트가 나타납니다 때마다 그것을 커버입니다 : DidBeginSearch에 새 인스턴스를 만들고 DidEndSearch에 릴리스하려고 시도했지만 첫 번째 호출에서만 작동했습니다! 이상한 ...
희망이 도움이