iOS 11 导航栏中的 UISearchBar
iOS 11 UISearchBar in navigation bar
UISearchBar 在 iOS 11 和 iOS 10 及以下版本中的行为不同。
- 尺码变了
- 推送另一个受控视图时的淡出动画丢失
我用这段代码以某种方式处理了 "fix" 大小:
if #available(iOS 11.0, *) {
searchBar.heightAnchor.constraint(equalToConstant: 44).isActive = true
}
但我无法修复动画。除了在推送时手动设置搜索栏动画之外,还有什么想法吗?
UIView.animate(withDuration: 0.3, animations: { [weak self] in
guard let strongSelf = self else { return }
strongSelf.searchBar.alpha = 0.0
})
观看破碎动画效果的视频here。
在UIPercentDrivenInteractiveTransition中查看答案。它用于在百分比值的 UINavigationController 转换期间更新 UIView。
换句话说,取决于 UINavigationController 已经打开了多少,下一个视图控制器或向后移动的视图会有不同的外观。
此值将帮助您更新搜索栏(alpha、宽度等)
只要用一个 UIView 包裹它,动画就回来了。
UISearchBar 在 iOS 11 和 iOS 10 及以下版本中的行为不同。
- 尺码变了
- 推送另一个受控视图时的淡出动画丢失
我用这段代码以某种方式处理了 "fix" 大小:
if #available(iOS 11.0, *) {
searchBar.heightAnchor.constraint(equalToConstant: 44).isActive = true
}
但我无法修复动画。除了在推送时手动设置搜索栏动画之外,还有什么想法吗?
UIView.animate(withDuration: 0.3, animations: { [weak self] in
guard let strongSelf = self else { return }
strongSelf.searchBar.alpha = 0.0
})
观看破碎动画效果的视频here。
在UIPercentDrivenInteractiveTransition中查看答案。它用于在百分比值的 UINavigationController 转换期间更新 UIView。
换句话说,取决于 UINavigationController 已经打开了多少,下一个视图控制器或向后移动的视图会有不同的外观。
此值将帮助您更新搜索栏(alpha、宽度等)
只要用一个 UIView 包裹它,动画就回来了。