【发布时间】:2019-06-02 03:48:15
【问题描述】:
为了简短起见,我有一个隐藏了导航栏的主视图控制器,从该 VC 的导航控制器中,我推送了另一个导航栏可见的视图控制器。然后我将一个 searchController 添加到 navigationItem 以在我向下滚动时添加 searchBar。一切正常,直到您向后滑动弹出 VC。
导航栏会随着 VC 以动画方式离开屏幕,但 searchBar 会以动画方式呈现,就好像它在原地上升一样。更糟糕的是,如果我取消滑动弹出,整个 searchBar 就会消失,而是出现一个黑色视图(我认为 searchController 背景属于任何视图背景)。
我尝试了所有方法,只是几行代码,但我一直在努力解决这个问题。我知道我可以禁用滑动弹出,但我不希望这样(+ 即使按同样奇怪的方式按下 searchBar 动画),我不想以任何其他方式添加 searchBar。
在附加的视频中,我只是用手指滑动来显示动画。
- (void)viewDidLoad {
[super viewDidLoad];
self.definesPresentationContext = YES;
[self.navigationController setNavigationBarHidden:NO];
if (@available(iOS 11.0, *)) {
self.searchController = [[UISearchController alloc] initWithSearchResultsController:nil];
_searchController.delegate = self;
_searchController.searchResultsUpdater = self;
_searchController.searchBar.placeholder = @"Search";
self.navigationItem.searchController = _searchController;
self.navigationItem.hidesSearchBarWhenScrolling = YES;
}
}
【问题讨论】:
-
显示一些代码,如何添加搜索栏
-
当然,我编辑了问题以添加代码。
-
有人吗?有什么事吗?
-
能分享一下你的项目代码吗?
-
@HarshalWani 我在这里上传了一个示例项目:github.com/DanielKlink/SearchbarNavigationPopIssue
标签: ios iphone xcode navigationbar searchbar