UISearchBarのフォーカスを外す

UISearchBarにはキャンセルボタンがありますが, SearchBar以外がタップされたらキャンセルする方がスマートではないでしょうか. というわけでこれを実装. といってもここに全て書いてありました.

これを少し変えて以下のコードを追加しました.

- (void)touchesBegan😦NSSet *)touches withEvent😦UIEvent *)event 
{    
    UITouch *touch = [[event allTouches] anyObject];
    if ([self.mySearchBar isFirstResponder] && [touch view] != self.mySearchBar) 
    {
        [self.mySearchBar resignFirstResponder];
    }
    [super touchesBegan:touches withEvent:event];
}

ちなみにキャンセルボタンも試したのですが,まず表示されなかった. がんばって表示までたどり着いたのですが,キャンセルボタンのスタイルを簡単に変えられないみたいなので このアプローチをとりました.こっちの方が直感的な気がしますよね.

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト / 変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト / 変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト / 変更 )

Google+ フォト

Google+ アカウントを使ってコメントしています。 ログアウト / 変更 )

%s と連携中