【发布时间】:2018-12-28 03:48:46
【问题描述】:
我有这顶NavigationController 帽子,它的NavigationBar 启用了大标题。根ViewController 有一个SearchController,并且在ViewController 的NavigationItem 中将 hidesSearchBarWhenScrolling 设置为 True,因为我不希望 SearchBar 始终可见。 ViewController 有一个 TableView,当您点击其中一个项目时,将使用故事板 segue 将相同 ViewController 的新实例推送到导航堆栈。但是,当查看当前ViewController 和新ViewController 之间的过渡时,可以观察到动画看起来不正确:一旦新ViewController 移动到SearchBar 中,SearchBar 就会变为空,仅显示其背景.当新的ViewController 最终完全可见时,SearchBar 将消失,没有任何动画。
这就是我添加SearchController 的方式(这里没什么特别的):
class MyViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
let searchController = UISearchController(searchResultsController: nil)
navigationItem.searchController = searchController
navigationItem.hidesSearchBarWhenScrolling = true
}
}
所以从“一”导航到“二”时的样子:
UISearchController / UINavigationBar shows broken animation when used within UINavigationController
有没有办法让它看起来更好看?当然,在新的ViewController 中,SearchBar 最初不应该是可见的,所以它必须以某种方式消失。但我认为旧的ViewController 上的SearchBar 可能应该以某种方式淡出,而不是停留在那里,然后在过渡到新的ViewController 完成时突然隐藏。希望我只是在这里做错了什么......
谢谢大家,圣诞快乐,
彼得
【问题讨论】:
标签: ios swift uinavigationbar uisearchbar