ios - Swift UIRefreshControl 在 iPhone 8 上不起作用
问题描述
我有一个UIRefreshControl
适用于除 iPhone 8 之外的所有设备(既不适用于物理设备也不适用于模拟器)。
在 iPhone 8 上,刷新指示器在 3/4 处停止,并且从不调用刷新
当你把它一直拉下来时,它是这样的:
创建刷新控件:
lazy var refreshControl: UIRefreshControl = {
let refreshControl = UIRefreshControl()
refreshControl.addTarget(self, action:
#selector(TeamViewController.handleRefresh(_:)),
for: UIControlEvents.valueChanged)
refreshControl.tintColor = UIColor.red
return refreshControl
}()
添加到视图:
if #available(iOS 10.0, *) {
myCollectionView.refreshControl = refreshControl
} else {
myCollectionView.addSubview(refreshControl)
}
解决方案
我遇到了同样的问题,这是由于我在故事板中将视图控制器设置为自由形式作为模拟大小造成的。将其更改回已修复解决了该问题。
也可以使用以下方法修复:
override func viewDidLayoutSubviews() {
refreshControl?.didMoveToSuperview()
super.viewDidLayoutSubviews()
}
推荐阅读
- angular - 基于具有值或为空的两个字段的 Angular FormControl XNOR 验证器
- r - 通过变量和框变量标题ggplot为背景着色
- python - 在 SqlAlchemy 模型中存储字典
- python - 'DataFrame' 对象在 ApplyResult 引用中不可调用
- python-3.x - 你如何找到图像中的轮廓并调整它的大小python3?
- google-apps-script - 代码错误在单元格内弹出为#DIV/0!在代码运行通过所有单元格之后
- python - 用另一个 Discord.py 机器人测试 Discord.py 机器人 / 模拟
- javascript - 如何使用 JSON 文件制作黑名单?
- laravel - Laravel API 身份验证
- python-3.x - KeyError:'/内容'