我有一个自定义的UIRefreshControl“拉刷新”,出于某种原因,当我开始滚动时,视图出现在所有其他视图之上,而不是逐渐显示自己,因为滚动被拖下来。这就是我的意思:如何在我的视图层次结构中调整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)
}
虽然这并修复只是被贴满了刷新的问题无论其透明度如何,refreshCont都是如此rol仍然位于我的视图层次结构的顶部,您可以看到当我释放滚动时,字母仍然悬在视图上。虽然它确实隐藏了视图,但当您开始拖动滚动时,它会非常快速地显示再次认为:
现在我甚至尝试调用sendSubviewToBack
和insertSubview:aboveSubview:
方法,但他们没有做任何事情..请记住,这是一个collectionViewController,而不是一个UIViewController与顶部的CollectionView ,所以我想没有一个视图后面的顶视图,我可以发送一些东西到后面..但是有没有我能实现的任何逻辑,将调整滚动开始时的意见界限?
当我添加它作为一个子视图到我的背景,它只是消失了,我的意思是控制的运动仍然存在,但其不可见 –
我可以设置RefreshControl的的backgroundColor应对和tintColor在viewDidLoad中清除以正确掩饰自己,但是我能做些什么来突然拆分第二个毛刺,否则这个代码会在滚动拖动开始时显示出来? –
我能做些什么来防止这种情况发生? –