我有一个嵌入导航控制器的控制器,带有大标题和 UIRefreshControl。当我在 tableView 上进行拉动刷新时,活动指示器的动画非常不稳定。
我不知道我的代码是否有不良行为?
tableView.refreshControl = UIRefreshControl()
tableView.refreshControl?.addTarget(self, action: #selector(downloadData), for: .valueChanged)
如果您已将导航栏半透明外观设置为 false,则需要在视图控制器中包含以下代码来处理不透明栏。另外,在故事板中,tableView 必须将顶部约束扩展到 Superview。不知何故,我不知道为什么没有正确的文档表明这一点,但它似乎解决了动画问题。
self.extendedLayoutIncludesOpaqueBars = true
除此之外,我发现在 @Ravi Raja Jangid 发布的链接的帮助下,目前此设置运行良好。我不确定是因为tableview现在附加到了Superview(扩展状态栏)还是iOS版本升级修复了bug问题。
解释iOS7中automaticAdjustsScrollViewInsets、extendedLayoutInincludesOpaqueBars、edgesForExtendedLayout之间的区别 https://stackoverflow.com/questions/18798792/explaining-difference-between-automaticallyadjustsscrollviewinsets-extendedlayo/19585104#19585104.
搜索控制器:
private lazy var searchController: UISearchController = {
let searchController = UISearchController(searchResultsController: nil)
searchController.searchResultsUpdater = self
searchController.obscuresBackgroundDuringPresentation = false
searchController.hidesNavigationBarDuringPresentation = false
self.definesPresentationContext = false
return searchController
}()
viewDidLoad()
self.navigationItem.hidesSearchBarWhenScrolling = false
self.navigationItem.searchController = self.searchController
self.navigationController?.navigationBar.isTranslucent = false
self.extendedLayoutIncludesOpaqueBars = true
Storyboard Setup:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)