2016-06-14 4 views
0

iOSアプリケーションには2つのビューがあります。ユーザがボタンを押すと、そのビューコントローラで検索バーが表示されている2番目のビューコントローラに移動します。ユーザーは、検索者をタップしてキーボードを取得する必要があります。検索者をタップして、何もせずにユーザーに伝えます。iOS、目的Cで何もせずにビューが表示されたときに検索バーをタップするとキーボードが自動的に表示される方法

私は、以下を試してみました

- (void)viewDidAppear:(BOOL)animated 
{ 
    [super viewDidAppear:animated]; 
    [self.fromportSearchcontroller setActive:YES]; 
    [self.fromportSearchcontroller.searchBar becomeFirstResponder]; 
} 

が、これは動作しませんでした。これであなたの助けを願ってください。

注: これは私がuisearchcontroller

- (void)settinguptheSearchBarforfromairports 
{ 
    self.fromportSearchcontroller = [[UISearchController alloc] initWithSearchResultsController:nil]; 
    self.fromportSearchcontroller.searchResultsUpdater = self; 
    self.fromportSearchcontroller.searchBar.delegate = self; 
    self.definesPresentationContext = YES; 
    self.fromaiportsTableView.tableHeaderView = self.fromportSearchcontroller.searchBar; 
    self.fromportSearchcontroller.searchBar.barTintColor = [UIColor lightGrayColor]; 
    self.fromportSearchcontroller.dimsBackgroundDuringPresentation = NO; 
    //self.fromportSearchcontroller.active = YES; 
    //self.fromportSearchcontroller.searchBar.text = @"type city or airport"; 
    [self.fromportSearchcontroller.searchBar sizeToFit]; 


} 

を作成し、私は 'のviewDidLoad' メソッドで、このメソッドを呼び出した方法です。

  • 検索バーがアクティブになっていますが、キーボードが自動的に表示されません(ポップアップ)。
+0

'self.fromportSearchcontroller.searchBar'はnilですか? – Larme

+0

@Larme、質問を更新しました –

+0

これは重複しています(解決済み):http://stackoverflow.com/questions/27951965/cannot-set-searchbar-as-firstresponder – danh

答えて

0

UISearchControllerの代わりに、UISearchBarを試してください。それは私のためにうまくいきます。

-(void)viewDidAppear:(BOOL)animated 
    { 
     [self.searchbar becomeFirstResponder]; 
    } 

self.searchbarがbecomeFirstResponderを呼び出す前に割り当てられていることを確認します。

- (void)settinguptheSearchBarforfromairports 
{ 
     self.searchbar = [[UISearchBar alloc]init]; 
     self.searchbar.backgroundColor = [UIColor whiteColor]; 
     self.searchbar.tintColor = [UIColor whiteColor]; 
     self.searchbar.placeholder = @"Search"; 
     self.searchbar.delegate=self; 
     self.searchbar.barTintColor = [UIColor whiteColor]; 
     self.searchbar.layer.borderWidth = 0; 
     [self.searchbar setTranslucent:YES]; 
     [self.view addSubview:self.searchbar]; 
} 

これが役に立ちます。

関連する問題