11

検索ビューを開いたときにキーボードが表示されるように検索バーにフォーカスする方法について、非常に多くの解決策を読みましたが、そのすべてがこのようなものです

[searchBar becomeFirstResponder];
mine is 
[self.searchDisplayController.searchBar becomeFirstResponder];
but I tried both.

今、私はこれを試しました、そして私も追加しました

[self.searchDisplayController setActive:YES];

私はSearchDisplayControllerを使用しているためですが、これまでのところ、検索バーにカーソルを置き、その上にオーバーレイのあるuitableviewを表示するのが最善の結果ですが、キーボードはまだありません。

シミュレーターを実行すると、コンピューターのキーボードで検索バーに入力できますが、iPhone では何もできません。

私のコードを見てみたい場合: http://nopaste.info/39fcda4771.html フォーカスは viewDidLoad メソッドで実行する必要があります

再度、感謝します。

4

4 に答える 4

5

UISearchBarDelegate を使用して、このようにヘッダー ファイルで searchBar を宣言します。

@interface mySearchScreen : UIViewController <UITableViewDelegate, UITableViewDataSource, UISearchBarDelegate> {

UITableView *myTableView;   
NSMutableArray *tableData;
UISearchBar *sBar;//search bar

loadView で検索バーを宣言します

- (void)loadView {  
[super loadView];   
sBar = [[UISearchBar alloc]initWithFrame:CGRectMake(0,0,320,30)];   
sBar.delegate = self;   
[self.view addSubview:sBar];    
myTableView = [[UITableView alloc]initWithFrame:CGRectMake(0, 31, 300, 400)];   
myTableView.delegate = self;    
myTableView.dataSource = self;  
[self.view addSubview:myTableView];

tableData = [[NSMutableArray alloc]init];

}

次に、viewDidAppear の検索バーで becomeFirstResponder を使用します

- (void)viewDidAppear:(BOOL)animated {
//ensure the keyboard comes up from the start
[sBar becomeFirstResponder];    
[super viewDidAppear:animated];

}

于 2011-05-12T10:38:56.583 に答える
3

順序の問題

[self.searchDisplayController setActive:YES animated:YES];
[self.searchDisplayController.searchBar becomeFirstResponder];

うまくいかない場合は、検索表示コントローラーのデリゲートがリンクされているかどうかを確認してください。検索バーの色合いもチェックする価値があります。

于 2014-11-03T23:18:27.200 に答える
3

で、画像simulatorで確認できるように、をクリックしToggle Software Keyboardてシミュレーターのキーボードを使用するようにしてください。

ここに画像の説明を入力

于 2015-03-15T10:05:15.787 に答える