【发布时间】:2015-09-10 05:20:21
【问题描述】:
我有一个自定义的 UIRefreshControl “拉动刷新”,由于某种原因,当我开始滚动时,视图出现在所有其他视图之上,而不是随着滚动被向下拖动而逐渐显示自己。这就是我的意思:
现在我试图通过在 viewDidLoad 中使背景和色调颜色清晰来解决这个问题:
var refreshControl: UIRefreshControl!
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.
refreshControl = UIRefreshControl()
refreshControl.backgroundColor = UIColor.clearColor()
refreshControl.tintColor = UIColor.clearColor()
collectionView?.addSubview(refreshControl)
}
虽然这确实解决了刷新只是覆盖所有内容的问题,但无论其透明度如何,refreshControl 仍然位于我的视图层次结构之上,您可以看到当我释放滚动条时,字母仍然挂在视图..虽然它确实隐藏了视图,但当您开始拖动滚动条时,再次显示视图时会出现非常快的故障:
现在我什至尝试调用sendSubviewToBack 和insertSubview:aboveSubview: 方法,但它们什么也没做。请记住,这是一个collectionViewController,而不是顶部有collectionView 的UIViewController,所以我猜没有'不是顶视图后面的视图,我可以将一些东西发送到后面..但是我可以实现任何逻辑来在滚动开始时调整视图边界吗?
【问题讨论】:
标签: ios xcode swift uicollectionview uirefreshcontrol