プログラムでUISearchDisplayController
を作成しようとしています。私は検索コントローラを設定する方法がありますが、私はそれを呼び出すと何も起こりません。プログラムでUISearchDisplayControllerを作成する
この私の-setupSearch
方法:
- (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];
}
私は私のサブクラスUITableViewController
の-viewDidLoad
方法で上記のメソッドを呼び出します。残念ながら、私のテーブルビューコントローラがUITabBarController
に表示されても何も起こりません。
ご協力いただければ幸いです。
doc:contentsController: "これは通常、UITableViewControllerのインスタンスです。"通常、必須ではありません。 –
'UITableViewController'を使いたくない場合は、単に' UITableViewDataSource'と 'UITableViewDelegate'に従う' UIViewController'を持つことができます。 –
これは私の問題は、 'self.searchDisplayController'は' UITableViewController'の読み取り専用プロパティであり、ここでのコードはそれを設定しているということです。 –