• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

ios - 完全禁用 UIRefreshControl - iOS

[复制链接]
菜鸟教程小白 发表于 2022-12-11 19:07:47 | 显示全部楼层 |阅读模式 打印 上一主题 下一主题

我有一个可使用 UIRefreshControl 刷新的 tableview。它工作正常。

要注意的是,当我单击 Edit 按钮(这是一个 UIBarButton)时,我希望禁用 UIRefreshControl。我在尝试完全禁用 UIRefreshControl 时遇到了极大的困难。我已经达到了我的表格内容肯定没有被刷新的地步(这很好),但用户仍然能够下拉并显示 spinny-symbol,然后短暂显示。有什么办法可以隐藏这个spinny-symbol?

我尝试了很多东西:refreshControl.endRefreshing()refreshControl.isHidden = truerefreshControl.removeFromSuperview()refreshControl = nil...

这是我的一些代码。 (isInEditMode 是一个实例变量,当点击 Edit 时为 true,点击 Done 时为 false。我相信这个 bool 值设置正确,所以我不认为这是问题所在。)

func refreshTable(sender: UIRefreshControl) {

    if !isInEditMode {

        self.refreshControl.beginRefreshing()
        refreshProfile() 

    // this works exactly as I want it to

    }

    else {
        refreshControl.endRefreshing()
        // OR refreshControl.isHidden = true
        // OR refreshControl = nil
        // OR refreshControl.removeFromSuperview()

        // refreshProfile() not called, so table doesn't update, but the user can still pull down and the spinny icon shows. I do not want this. 
    }



}

编辑:我尝试了 How do I "hide" a UIRefreshControl? 中列出的所有解决方案,他们都没有解决我的问题。可能是因为那个帖子很老了——2013年。 (或者因为我使用 UIRefreshControl 的方式有所不同。该帖子中提出的主要解决方案是将 UIRefreshControl 设置为 nil endRefreshing() 之后。这对我不起作用。我还尝试了建议将 UIRefreshControl 的色调设置为 clear 的 hacky 解决方案. 而且,如上所述,我还尝试了 isHiddenremoveFromSuperview()。我的帖子与其他帖子不同的另一个因素是所有这些答案都是针对 Objective-C 的,而我对 Swift 3 很感兴趣。(尽管我很确定我能够将该线程上的建议翻译成 Swift。不过这无关紧要,因为它们都不适合我。)



Best Answer-推荐答案


从评论中的对话看来,答案似乎是在 viewDidAppear 中的 UITableView 中添加了多个 UIRefreshControl

View Controller 上的刷新控件属性是指最新添加的属性,并且该属性可能已被正确禁用。但是,任何先前添加的刷新控件仍将由 TableView 保留,即使 View Controller 不再引用它们。

修复方法是在 viewDidLoad 期间仅添加一次刷新控件并禁用它,但在切换到编辑模式时将其保留在表格 View 中,以便在离开编辑模式时重新启用它.

关于ios - 完全禁用 UIRefreshControl - iOS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42545612/

回复

使用道具 举报

懒得打字嘛,点击右侧快捷回复 【右侧内容,后台自定义】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关注0

粉丝2

帖子830918

发布主题
阅读排行 更多
广告位

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap