0

私は持っていUISearchBarます。ユーザーが検索を押すとすぐにキーボードが消えるようにしたい...試してみresignFirstResponderましたが、うまくいきませんでした。任意の助けをいただければ幸いです

- (void)viewDidLoad {
    [super viewDidLoad];

    self.title = NSLocalizedString(@"Songs", @"Search for songs");


    NSMutableArray *array = [[NSArray alloc]initWithObjects: @"Book_1", @"Book 2", @"Book _ 4", nil];
    self.booksArray = array;
    [array release];
    search.delegate=self;
    // Uncomment the following line to display an Edit button in the navigation bar for this view controller.
    // self.navigationItem.rightBarButtonItem = self.editButtonItem;
}

ありがとうTC

4

2 に答える 2

0

次のことを確認してください。(キーボードの検索ボタンの話だといいのですが)

  1. IBOutletsearchBar をその変数に接続しましたsearch
  2. コード内のどこでも検索変数を参照解除していません(再割り当て)。
  3. - (void)searchBarSearchButtonClicked:(UISearchBar *)searchBar メソッドは searchBar と同じですviewcontroller
  4. Please NSLog(@"Search Bar Instace : %@",search); viewDidLoad メソッドでsearchBarSearchButtonClicked、両方のインスタンスが同じであることを確認します。そうでない場合はsearch、コードのどこかで再割り当てされています。
  5. NSLog [searchBar resignFirstResponder];(@"isFirstResponder : %d",[searchbar isFirstResponder]); の直後 とNSLog(@"Next Responder : %@",[searchBar nextResponder]);
  6. - (void)searchBarSearchButtonClicked:(UISearchBar *)searchBar キーボードの検索ボタンをタップすると、メソッドが呼び出されていますか? キーボードresponder(textFieldtextViewその他の など) が意図せずsearchBarに後ろに追加されていないことを確認してください。searchBarxib からも確認してください。

ありがとう、

于 2011-04-15T03:12:55.203 に答える
0

デリゲート オブジェクトに Respond メソッドを実装することで機能するはずです。

- (void)searchBarSearchButtonClicked:(UISearchBar *)searchBar
{
    [searchBar resignFirstResponder];
}

参照: http://www.iphonedevsdk.com/forum/iphone-sdk-development/7148-problem-uisearchbar-navigation-controller.html#post59467

于 2011-04-14T06:47:12.370 に答える