Tôi đang cố tạo một UISearchDisplayController
theo chương trình. Tôi có một phương pháp mà nên thiết lập bộ điều khiển tìm kiếm của tôi, nhưng khi tôi gọi nó, không có gì xảy ra.Tạo một UISearchDisplayController lập trình
Phương pháp này -setupSearch
tôi:
- (void)setupSearch {
UISearchBar *myBar;
UISearchDisplayController *myCon;
myBar = [[UISearchBar alloc] initWithFrame:CGRectZero];
[myBar sizeToFit];
myCon = [[UISearchDisplayController alloc]
initWithSearchBar:myBar contentsController:self];
[myBar release];
myCon.delegate = self;
myCon.searchResultsDataSource = self;
myCon.searchResultsDelegate = self;
/* Setup scopes */
{
NSMutableArray *scopes;
NSUInteger count, i;
NSString *aScope;
count = SCOPE_COUNT;
scopes = [[NSMutableArray alloc] initWithCapacity:count];
for(i = 0; i < count; i++) {
// I create four scopes here
}
myCon.searchBar.scopeButtonTitles = scopes;
[scopes release];
}
[myCon release];
}
tôi gọi là phương pháp trên trong phương pháp -viewDidLoad
của subclassed tôi UITableViewController
. Thật không may là không có gì xảy ra khi bộ điều khiển xem bảng của tôi được hiển thị trong một UITabBarController
.
Mọi trợ giúp sẽ được đánh giá cao.
Từ tài liệu, về nội dungController: "Đây thường là một thể hiện của UITableViewController.". Thông thường, không bắt buộc. –
Vì vậy, nếu bạn không muốn sử dụng một 'UITableViewController', bạn chỉ có thể có một' UIViewController' phù hợp với các giao thức 'UITableViewDataSource' và' UITableViewDelegate'. –
Vấn đề của tôi với điều này là 'self.searchDisplayController' là một thuộc tính chỉ đọc trên' UITableViewController', và mã ở đây là thiết lập nó. –