刷新带有导航栏的控制器,该导向栏优先将RangeTitles设置为true

问题描述 投票:5回答:1

我正在使用导航控制器,在导航控制器中,我有一个带有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

ios swift ios11 swift4
1个回答
-1
投票
self.tableView.addSubview(refresh)
© www.soinside.com 2019 - 2024. All rights reserved.