首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >iOS 11在leftBarButtonItem旁边的导航栏中显示searchBar

iOS 11在leftBarButtonItem旁边的导航栏中显示searchBar
EN

Stack Overflow用户
提问于 2017-11-06 21:45:55
回答 1查看 416关注 0票数 2

我正在尝试使用新的iOS-11 searchBar方法,但没有成功。将显示searchBar,但显示在左侧栏按钮的下方,而不是其旁边:

在横向模式中也是如此。我使用的代码是:

代码语言:javascript
复制
self.searchResults = [[SearchResultsTable alloc] init];
self.searchResults.delegate = self;
searchController = [[UISearchController alloc] initWithSearchResultsController:self.searchResults];
searchController.searchResultsUpdater = self.searchResults;
searchController.hidesNavigationBarDuringPresentation = NO;
self.definesPresentationContext = YES;

self.navigationItem.leftBarButtonItem = [[UIBarButtonItem alloc]
    initWithBarButtonSystemItem:UIBarButtonSystemItemRefresh
                         target:self
                         action:@selector(swapToListView:)];
if ([self.navigationItem respondsToSelector:@selector(setSearchController:)]) {
    // only available from IOS-11 onwards
    self.navigationItem.title = nil;
    self.navigationItem.titleView = nil;
    [self.navigationItem setSearchController:searchController];

} else {
    // Fallback on earlier versions
    self.navigationItem.titleView = searchController.searchBar;
}

旧的代码在iOS-11之前的系统上运行良好,但在iOS-11上有其他问题,所以我更喜欢使用新的方法。有人知道我做错了什么吗?

EN

回答 1

Stack Overflow用户

发布于 2018-01-22 18:01:22

如果你想把搜索栏放在左导航项旁边,那么让你的搜索栏成为navigationItemtitleView,而不管iOS的版本是什么,并且不要使用UINavigationItemsearchController属性。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47138413

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档