首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >未触发刷新控制目标操作

未触发刷新控制目标操作
EN

Stack Overflow用户
提问于 2018-04-09 12:39:29
回答 3查看 2.3K关注 0票数 7

我的视图控制器有一个表视图,我在这个表视图中填充不同部分的视图。我正在尝试向此表视图添加刷新控件。我实现的内容如下所示。

代码语言:javascript
复制
func setUpRefreshControl() {
    let refreshControl = UIRefreshControl()
    refreshControl.tintColor = UIColor.red
    refreshControl.addTarget(self, action: #selector(handleRefresh(_: )), for: UIControlEvents.valueChanged)
    if #available(iOS 10.0, *) {
        tableView.refreshControl = refreshControl
    } else {
        tableView.addSubview(refreshControl)
    }
}


@objc func handleRefresh(_ sender: UIRefreshControl) {
   print("-----------REFRESHED------------")
}

接下来,当我拉下表视图进行刷新时,刷新控件(设置时为红色)可见。但是,不会调用目标函数。

我的视图控制器在一个选项卡栏控制器中,它嵌入在导航控制器中。我猜这个问题与视图层次结构有关,因为当我在没有导航栏和选项卡栏的单独项目中尝试相同的代码时,它工作得很好。但是我不知道现在的问题是什么。对解决这个问题有什么建议吗?谢谢。

EDIT:我在不同的模拟器中测试了它: 6,6s,6s+,7,7+,8,8+,X。我发现上面的代码在包括X在内的所有加号版本中都运行得很好。但是,所有的模拟器都运行iOS11.2,所以我仍然不能弄清楚是什么导致了这个问题。

EN

回答 3

Stack Overflow用户

发布于 2018-06-29 04:46:48

我也遇到了类似的问题,pull to refresh在5.5英寸的屏幕上工作得很好,但所有其他手机都只会显示部分动画,而且永远不会触发刷新。

我发现在我的视图控制器的viewDidAppear中调用refreshControl.didMoveToSuperview()解决了这个问题。

如果我理解正确的话,当您设置tableView.refreshControl = refreshControl时,同样的方法也会被调用,但在视图实际设置为显示时需要重新计算。我需要更深入地挖掘,以确保细节,但希望这是暂时有帮助的。

票数 9
EN

Stack Overflow用户

发布于 2018-07-11 20:26:08

我解决了这个问题,在视图控制器中,将模拟度量中的属性大小更改为推断,将属性模拟大小更改为固定。

我希望这对你有用。

票数 7
EN

Stack Overflow用户

发布于 2018-04-09 16:19:52

这是我实现的刷新控制代码,它在我当前的项目中工作,就在3天前。

var refreshControl: UIRefreshControl!

这是我的全局refreshControl变量,下面是它的实现。

代码语言:javascript
复制
    //MARK: - REFRESH CONTROLLER VIEW
    refreshControl = UIRefreshControl()
    refreshControl.attributedTitle = NSAttributedString(string: "Pull to refresh")
    refreshControl.addTarget(self, action: #selector(refresh(_ :)), for: UIControlEvents.valueChanged)
    refreshControl.attributedTitle = NSAttributedString(string: "")
    tblRequest.addSubview(refreshControl)

希望,这对你很有效!:-)

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49725653

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档