2014-12-21 104 views
2

我添加了一个UISearchBar到我最初的UIViewController,并且一切正常。但是,当我添加相同的UISearchBar时,与第一个ViewController的另一个ViewController相同,当我单击进入searchBar时,似乎没有任何事情发生。没有委托方法被激发,没有键盘出现,什么都没有。当我点击NavigationBar中的UISearchBar时,什么也没有发生

这是我如何将它添加到的导航栏:

- (void)viewDidLoad { 
    [super viewDidLoad]; 


    UITableViewController *searchResultsController = [[UITableViewController alloc] initWithStyle:UITableViewStylePlain]; 
    searchResultsController.tableView.dataSource = self; 
    searchResultsController.tableView.delegate = self; 

    self.searchResults = [NSMutableArray array]; 

    self.searchController = [[UISearchController alloc] initWithSearchResultsController:searchResultsController]; 
    self.searchController.searchResultsUpdater = self; 
    self.searchController.hidesNavigationBarDuringPresentation = NO; 



    self.searchController.searchBar.placeholder = NSLocalizedString(@"Search, eh?", nil); 

    // Include the search bar within the navigation bar. 
    self.navigationItem.titleView = self.searchController.searchBar; 

    self.definesPresentationContext = YES; 


} 

就像我说的它工作在第一UIViewController中,我失去了在其他2-3 viewControllers事情我已经尝试添加该太?我不明白为什么searchBar会显示在navBar中,但点击它后没有任何事情发生。当你提出一个新的一个尽快

@interface ViewController() <UISearchResultsUpdating> 

回答

7

尝试的第一个视图控制器设置definesPresentationContextNO:我还设置了委托像这样。

我相信,演示文稿走向视图控制器层次结构,寻找第一个定义上下文而不是关闭的。

+0

现在很好用。我想我只需要熟悉一下definePresentationContext,因为我仍然对这一行实际上做了些什么感到困惑。似乎searchBar是唯一没有在其他视图上工作的东西,但其他一切似乎都正常工作。 – Kimberly

相关问题