5

ほとんどの場合、UISearchBarを非表示にし、ユーザーが必要なときにのみ表示するように呼び出します。

UISearchBarをInterfaceBuilderに配置し、ビューの背後に非表示にしました。ユーザーがボタンをクリックすると、次のコードが呼び出されます。これにより、検索バーが前面に表示され、キーボードをスライドして表示できるようになります。しかし、そうではありません。

- (IBAction)search:(id)sender
{
   [mySearchBar performSelector:@selector(searchBarTextDidBeginEditing:)];
}

コードでUISearchBarをアクティブ化する方法を知っている人はいますか?

ありがとう。

返信ありがとうございます。誰かが興味を持った場合に備えて、完全なコードを投稿するだけです

- (IBAction)search:(id)sender
{
    mySearchBar.hidden = NO;
    [mySearchBar becomeFirstResponder];
}

#pragma mark UISearchBarDelegate delegate methods

// called when keyboard search button pressed
- (void)searchBarSearchButtonClicked:(UISearchBar *)searchBar
{
    mySearchBar.hidden = YES;
    [mySearchBar resignFirstResponder];
// Do something with the mySearchBar.text
}

// called when cancel button pressed
- (void)searchBarCancelButtonClicked:(UISearchBar *)searchBar
{
    mySearchBar.hidden = YES; 
    [mySearchBar resignFirstResponder];
}
4

2 に答える 2

4

キーボードをポップしたい場合は、[mySearchBar becomeFirstResponder] を呼び出す必要があります。

于 2008-10-21T12:19:57.440 に答える
2

ビューの上に検索バーを配置し、非表示にしました。次に、必要なのは次のとおりです。

mySearchBar.hidden = NO;

表示します。行っている内容によっては、下にあるビューのサイズを変更する必要がある場合もあります (そうしないと、ビューの上部がトリミングされます)。そして、それはまだビューに「スライド」しません。適当に検索バーをつけて全く新しいビューにした方が使いやすいかもしれません。

于 2008-10-21T11:55:18.020 に答える