首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >UIRefreshControl与UITableView的backgroundVIew

UIRefreshControl与UITableView的backgroundVIew
EN

Stack Overflow用户
提问于 2013-09-19 19:16:20
回答 4查看 7.7K关注 0票数 30

我有一个UITableViewController,我在上面设置了一个backgroundView。此控制器安装了一个UIRefreshControl。问题是,当我设置背景视图时,刷新控件是不可见的。如果删除背景视图,则可以看到刷新控件。

我做错了什么吗?

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2013-09-20 01:38:41

造成这种行为的原因是,在iOS 7中,UITableViewbackgroundView是绘制在UIRefreshControl之上的。不确定这是出于设计还是问题,但这里有一个解决办法,为我解决了这个问题:

代码语言:javascript
运行
复制
   self.tableView.backgroundView.layer.zPosition -= 1;

此代码用于设置UITableViewController refreshControl属性的位置。

票数 88
EN

Stack Overflow用户

发布于 2013-09-19 19:40:22

您可以尝试将背景发送到背面,或者将刷新控件发送到前面。刷新控件很可能仅停留在索引0处。

票数 0
EN

Stack Overflow用户

发布于 2016-05-05 00:20:51

似乎UITableViewController在重新加载期间(在其“backgroundView”后面)将其UIRefreshControl推回到0索引,而不管您最初将它放在哪个索引上。这就是对我起作用的东西(iOS 9):在IB中禁用刷新。在代码中创建UIRefreshControl,并在设置backgroundView后将其添加到tableView:

代码语言:javascript
运行
复制
    let someView = UIView()

    self.tableView.backgroundView = someView

    let refreshControl = UIRefreshControl()

    refreshControl.addTarget(self, action: #selector(MyTableViewController.refresh(_:)), forControlEvents: .ValueChanged)

    self.tableView.insertSubview(refreshControl, atIndex: 1)
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18903076

复制
相关文章

相似问题

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