Ios [Swift4]控制指示灯出现在不同的位置
我正在尝试使用Xcode 10.1(10B61)和Swift4制作一个iOS应用程序 我对UIRefreshControl指示器的外观有疑问,如下图所示 UIRefreshControl脚本写在每个TableViewController类中(关于refresh func的代码相同)Ios [Swift4]控制指示灯出现在不同的位置,ios,swift,Ios,Swift,我正在尝试使用Xcode 10.1(10B61)和Swift4制作一个iOS应用程序 我对UIRefreshControl指示器的外观有疑问,如下图所示 UIRefreshControl脚本写在每个TableViewController类中(关于refresh func的代码相同) 任何人都可以给我一些建议 谢谢。试试这个-- 让我们知道。。工作正常吗?试试这个-- 让我们知道。。工作正常吗?TableviewController 1 class TableViewController1:
任何人都可以给我一些建议 谢谢。试试这个-- 让我们知道。。工作正常吗?试试这个-- 让我们知道。。工作正常吗?TableviewController 1
class TableViewController1: UITableViewController {
var refreshControl = UIRefreshControl()
override func viewDidLoad() {
super.viewDidLoad()
refreshControl?.addTarget(self, action: #selector(onRefresh), for: .valueChanged)
tableView1.addSubview(refreshControl) // Added Line
}
TableviewController 2
class TableViewController2: UITableViewController {
var refreshControl = UIRefreshControl()
override func viewDidLoad() {
super.viewDidLoad()
refreshControl?.addTarget(self, action: #selector(onRefresh), for: .valueChanged)
tableView2.addSubview(refreshControl) // Added Line
}
TableviewController 1
class TableViewController1: UITableViewController {
var refreshControl = UIRefreshControl()
override func viewDidLoad() {
super.viewDidLoad()
refreshControl?.addTarget(self, action: #selector(onRefresh), for: .valueChanged)
tableView1.addSubview(refreshControl) // Added Line
}
TableviewController 2
class TableViewController2: UITableViewController {
var refreshControl = UIRefreshControl()
override func viewDidLoad() {
super.viewDidLoad()
refreshControl?.addTarget(self, action: #selector(onRefresh), for: .valueChanged)
tableView2.addSubview(refreshControl) // Added Line
}
这是由于各种因素的综合作用
TableViewController
(实际上是任何可滚动的视图)将其refreshControl
放在导航栏上。这种行为是在iOS 11中引入的refreshControl
附加到导航栏刷新控件
绑定到导航栏。从iOS 11开始,任何可滚动视图都可能具有refreshControl
及其“绑定”,即使您没有明确声明它
在您的情况下,您可以这样在容器之前添加UIScrollView
:
-看法
--安全区
--UIScrollView(虚拟)
--集装箱视图
----表1
----表2
...
发生这种情况是因为各种因素的组合
TableViewController
(实际上是任何可滚动的视图)将其refreshControl
放在导航栏上。这种行为是在iOS 11中引入的refreshControl
附加到导航栏刷新控件
绑定到导航栏。从iOS 11开始,任何可滚动视图都可能具有refreshControl
及其“绑定”,即使您没有明确声明它
在您的情况下,您可以这样在容器之前添加UIScrollView
:
-看法
--安全区
--UIScrollView(虚拟)
--集装箱视图
----表1
----表2
...
我猜您没有设置UIRefreshControl
的帧或偏移量,我猜您没有设置UIRefreshControl
的帧或偏移量,但这次发生了新的分配。。因此,我对tableView中添加的视图表示怀疑。但这次发生了新的分配。。因此,我对tableView中添加的视图表示怀疑。。
class TableViewController2: UITableViewController {
var refreshControl = UIRefreshControl()
override func viewDidLoad() {
super.viewDidLoad()
refreshControl?.addTarget(self, action: #selector(onRefresh), for: .valueChanged)
tableView2.addSubview(refreshControl) // Added Line
}