在视频中,很难看到发生了什么,所以我将尽力对其进行解释。 https://youtu.be/yOrCJB9yZlg
我的根视图中有UIViewController
和UITableView
。通过Autolayout
进行绑定(绑定方式没有任何不同:绑定到SuperView或SafeArea)。
SearchBar添加如下:
let search = UISearchController(searchResultsController: nil)
self.navigationItem.searchController = search
当我缓慢滚动表格时,大型导航栏和紧凑型导航栏之间的过渡以及显示和显示searchBar的动画太快了。搜索栏跳入/跳出导航栏,而不是顺利打开/关闭;导航栏过渡在大而紧凑的两个状态之间跳跃,而在系统中(例如邮件,电话,消息,联系人等)中缓慢移动手指时,没有平稳地通过中间的半开状态。
我从一个空项目中举了一个例子来演示这个问题;导航栏逻辑没有任何变化,或者根本没有任何逻辑。只是两个新的VC,这种奇怪的行为。
如果我创建xCode的“ Master-Details”项目示例并向其中添加UISearchController
,它将正常工作。我认为这是因为他们在内部使用了UITableViewController
而不是UIViewController
+ UITableView
。
此行为的原因是什么以及如何解决?