使用navigationBar刷新控制器,该控制器优先将RangeTitles设置为true

时间:2017-09-26 20:05:45

标签: ios swift ios11 swift4

我正在使用导航控制器,在该导航控制器中,我有一个带有tableview的VC,它拥抱superView的顶部,底部,左侧和右侧。当我self.navigationController?.navigationBar.prefersLargeTitles设置为false时,一切正常。但是当我将它设置为true时,我必须拖得非常远,以使我的刷新控制器触发刷新。我必须拖得太远,以至于我必须用两根手指在屏幕上向下拖动。我在这里做错了什么,或者这是Apple的问题?这是我添加刷新控制器的方式。我没有包含handleRefresh函数,因为代码甚至没有达到这一点。

var refreshControl = UIRefreshControl()

override func viewDidLoad() {
    super.viewDidLoad()
    refreshControl.addTarget(self, action: 
    #selector(FeedViewController.handleRefresh(_:)), for: UIControlEvents.valueChanged)
    refreshControl.tintColor = UIColor.gray
    self.tableView.refreshControl = refreshControl
}

我正在使用swift 4和iOS 11与Xcode 9.我的tableview中的单元格很大 - 一个单元格大约400-500点,几乎与屏幕大小相同。

发生的事情是,动画师开始制作动画但是当它获得某个(它应该刷新的点)时,它就会停止。我已经包含了停止点的屏幕截图。然后,当我继续向下滚动时,它会进行刷新。但它应该早一点完成。我必须向下滚动到导航栏延伸到几乎整个屏幕长度的点。

This is where it stops but once we have pulled this far down, it should refresh

1 个答案:

答案 0 :(得分:-1)

self.tableView.addSubview(refresh)