UISearchDisplayController의 테이블보기에 사용자 정의 배경을 추가하는 방법은 무엇입니까?
문제
UISearchDisplayController의 테이블보기 배경에 사용자 정의 UIImageView를 추가하고 ClearColor에 테이블 뷰의 배경색을 설정하고 싶습니다. 몇 가지 다른 접근법을 시도했지만 올바른 솔루션을 찾을 수 없었습니다. 이것에 어떻게 접근하는지 아십니까?
참고 : SearchDisplayController의 SearchResultStableView의 View Hierarchy에 추가하고 싶지는 않지만 아래의 다른 형제보기를 오버레이합니다).
해결책
메인 테이블과 유사한 방식으로 배경 이미지를 설정하고 SearchDisplayControllerDidBeginsearch Delegate 메소드에서만 설정할 수 있습니다. 예를 들어:-
- (void)searchDisplayControllerDidBeginSearch:(UISearchDisplayController *)controller {
[controller.searchResultsTableView setDelegate:self];
UIImageView *anImage = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"gradientBackground.png"]];
controller.searchResultsTableView.backgroundView = anImage;
[anImage release];
controller.searchResultsTableView.separatorStyle = UITableViewCellSeparatorStyleNone;
controller.searchResultsTableView.backgroundColor = [UIColor clearColor]; }
다른 팁
당신은 당신이 당신의 인스턴스를 어디에 있든 이것을 할 수 있습니다 UISearchDisplayController
. 내 앱에서 나는 이것을 내에서하고 있었다 UITableView
viewDidLoad
방법과 두 테이블 사이의 스타일과 일치했습니다.
- (void)viewDidLoad
{
[super viewDidLoad];
self.tableView.separatorColor = [UIColor blackColor];
self.tableView.backgroundColor = [UIColor grayColor];
self.tableView.indicatorStyle = UIScrollViewIndicatorStyleWhite;
searchBar = [[UISearchBar alloc] initWithFrame:CGRectMake(0, 0, 320, 44)];
searchController = [[UISearchDisplayController alloc] initWithSearchBar:searchBar contentsController:self];
searchController.delegate = self;
searchController.searchResultsDataSource = self;
searchController.searchResultsDelegate = self;
searchController.searchResultsTableView.separatorColor = self.tableView.separatorColor;
searchController.searchResultsTableView.backgroundColor = self.tableView.backgroundColor;
searchController.searchResultsTableView.indicatorStyle = UIScrollViewIndicatorStyleWhite;
}
제휴하지 않습니다 StackOverflow