2016-06-14 4 views
0

내 IOS 응용 프로그램에는 두 개의보기가 있습니다. 첫 번째보기에는 단추가 있습니다. 사용자가 버튼을 누르면 탐색 막대가있는보기 막대가있는 두 번째보기 컨트롤러로 이동합니다. 사용자는 키보드를 가져 오기 위해 검색자를 탭해야합니다. 원하는 것은 검색자를 탭하고보기가 나타나면 키보드를 자동으로 팝업하는 것입니다. 아무 것도하지 않고 사용자에게 전달할 수 있습니다. 내가 다음에 시도 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]; 
} 

희망이 도움이됩니다.