Xcode:当网站缩放时,UIWebView拉动刷新动画不居中

时间:2016-07-13 14:01:12

标签: ios xcode animation uiwebview pull-to-refresh

我有一个用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)
}

它运作良好,动画也会显示出来。但是,当用户放大(进出)网站并拉动以刷新动画(旋转轮,"请稍等......"文本)不显示居中(水平)取决于实际显示缩放网站的哪一侧。

有人知道如何解决这个问题吗?

2 个答案:

答案 0 :(得分:2)

  1. 检查您是否使用contentInsets,如果是,则将布局约束/布局锚点设置为refreshControl.superView并设置偏移量。

  2. 同时设置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)