UIsearchBar をナビゲーション コントローラーに追加しようとしています。また、UISearchBarのキャンセルボタンも使いたいです。
UISearchBar* searchBar = [[UISearchBar alloc] init];
searchBar.frame = CGRectMake(0, 0, 300, searchBar.frame.size.height);
searchBar.translucent = NO;
searchBar.barStyle = UIBarStyleBlack;
searchBar.delegate = self;
UIView* myView = [[UIView alloc] initWithFrame:searchBar.frame];
[myView addSubview:searchBar];
UIBarButtonItem* sbItem = [[UIBarButtonItem alloc] initWithCustomView:myView];
[self.navigationItem setRightBarButtonItems:[NSArray arrayWithObjects:chart,sbItem,nil]];
searchBarが非アクティブであるというトラブル。ナビゲーションコントローラーに表示されます。しかし、タップしてもまったく反応しません。キャンセルボタンを表示すると表示されますが、クリックできません。
UIView で UIsearchBar をラップしない場合、キャンセル ボタンを表示したくない場合を除いて、正常に動作します。
UPD IF i call
[searchBar becomeFirstResponder]
編集モードになり、キャンセル ボタンとキーボードが表示されますが、searchBar がラップされたビューがフレーム パラメータを変更し、元の外観から 10px 下に移動するように見えます。背景を trnsparent から blackopaque に変更します
ある種のブードゥー教のように見えます...とても単純なアクションにはとても時間がかかります...