2

UISearchBarが描画されるフレームは次のとおりです。

UISearchBar *sBar=[[UISearchBar alloc]initWithFrame:CGRectMake(0, 0, 280, 40)];

ユーザーが上記で定義された領域以外の領域クリックしたときに、キーボードを閉じたいだけです。

UISearchBarそうするためのデリゲート方法、または簡単な方法はありますか?よろしくお願いします。

4

1 に答える 1

1

ウィンドウ内の他のビューでクリック/タッチイベントを処理し、次のコマンドを呼び出す必要があります。

if (sBar.isFirstResponder)
    [sBar resignFirstResponder];

sBarはUIViewControllerのプロパティである必要があります

タッチイベントを処理するには、UIViewControllerに次を追加します。

  - (void) touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event
    {
    }

    - (void) touchesMoved:(NESet *)touches withEvent:(UIEvent *)event
    {
    }

    - (void) touchesEnded:(NESet *)touches withEvent:(UIEvent *)event
    {
    }

- (void) touchesCancelled:(NESet *)touches withEvent:(UIEvent *)event
    {
    }

少なくともtouchesBeganメソッドから[sBarresignFirstResponder]を呼び出します。

于 2012-09-05T16:56:09.320 に答える