我有一个用Xcode和Swift创建的iOS应用程序。我使用以下代码进行pull-to-refresh:
func pullToRefresh() {
self.homewebview.reload()
}
func addRefreshControl() {
refreshControl = UIRefreshControl()
refreshControl.attributedTitle = NSAttributedString(string: "Please wait a moment…")
refreshControl.addTarget(self, action: #selector(FirstViewController.pullToRefresh), forControlEvents:.ValueChanged)
self.homewebview.scrollView.addSubview(refreshControl)
}
它运作良好,动画也会显示出来。但是,当用户放大(进出)网站并拉动以刷新动画(旋转轮,"请稍等......"文本)不显示居中(水平)取决于实际显示缩放网站的哪一侧。
有人知道如何解决这个问题吗?
答案 0 :(得分:2)
检查您是否使用contentInsets
,如果是,则将布局约束/布局锚点设置为refreshControl.superView
并设置偏移量。
同时设置tableView.refreshControl = refreshControl
,而不是将其添加为子视图
答案 1 :(得分:0)
例如,如果您有左右插图leftRightInset = CGFloat(value)
。
然后,您可以使用以下代码片段来集中refreshControl:
refreshControl.bounds = CGRect(x: leftRightInset,
y: refreshControl.bounds.origin.y,
width: refreshControl.bounds.width,
height: refreshControl.bounds.height)