以前は がありUITableViewController
、UISearchBar
使用して上部に表示されていましたself.tableView.tableHeaderView = searchBar;
今、私はいくつかのことをやり直さなければならず、結局UIViewController
2 を示すa になりましたUITableView's
。上部に検索バーを表示したかったのですが、表示されていません。
今、メソッドで使用[MyView setTableHeaderView:searchBar];
しviewDidLoad
て、searchBar を TableView に追加しています。
コードは、(検索バーが初期化され、フレームが作成され、テーブルビューが初期化された)UIViewController
とほぼ同じです。UITableView
私が間違っていることはありますか?
編集:このすべての背後にあるアイデアは、上部のテーブルビュー (検索バーを含む) と、いくつかのフィルタリングオプションを選択できる別の uitableview にリストを表示することです。
(id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil
{
self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
if (self) {
// Custom initialization
searchResult = [[NSMutableArray alloc] init];
LexikonView = [[UITableView alloc] initWithFrame:CGRectMake(0, 44, 320, 337) style:UITableViewStylePlain];
LexikonView.dataSource = self;
LexikonView.delegate = self;
[self.view addSubview:LexikonView];
FilterView = [[UITableView alloc] initWithFrame:CGRectMake(0, 381, 320, 0) style:UITableViewStylePlain];
//FilterView.dataSource = self;
//FilterView.delegate = self;
[self.view addSubview:FilterView];
}
return self;
}
(void)viewDidLoad
{
[super viewDidLoad];
// Do any additional setup after loading the view from its nib
searchBar = [[UISearchBar alloc] initWithFrame:CGRectMake(0, 0, 320, 44)];
searchBar.autocorrectionType = UITextAutocorrectionTypeYes;
searchDisplayController = [[UISearchDisplayController alloc] initWithSearchBar:searchBar contentsController:self];
searchDisplayController.delegate = self;
searchDisplayController.searchResultsDataSource = self;
[LexikonView setTableHeaderView:searchBar];
}
今のところ、検索バーを再び機能させたいだけです (uitableviewcontroller を使用した場合と同様)。上部のテーブルビューのサイズを縮小すると、空のスペースしか表示されません。IB に UISearchBar を追加しましたが、出来上がりましたが、デリゲート メソッドは呼び出されません。
はい、検索バーをテーブルビューの上部に常に表示したい