2016-09-21 30 views
0

我有一個UITableViewController。 我已經在屬性檢查器中啓用了「刷新」屬性。 In viewDidLoad我已經分配了一個選擇器(即拉動刷新動作)。 在拉刷新動作,在最後一步,我調用refreshControl.endRefreshing()UITableViewController - 表不會返回到其初始位置後refreshControl.endRefreshing()

刷新操作後,臺返回到原來的位置使用的是iOS < V10在任何設備上。在iOS 10之前,它沒有問題。

仍在使用Swift 2.2。

附加信息: 如果需要下載數據,Pull to Refresh會觸發檢查。如果不是,則會發出警報,只有「確定」操作才能解除警報。

self.presentViewController(alert, animated: true, completion: nil) 

難道是因爲該表不返回到原來的位置觸發警報之前,它會停留在最後一個已知位置:警報使用管理?

如果是這樣,是否在離開時確保表格可以返回到原來的位置,而不必在出現警報之前撥打refreshControl.endRefreshing()

想法?

回答

0

基於this答案(雖然我使用的UITableViewController,而不是一個視圖控制器+表),我也做了以下內容:

viewDidLoad
  1. tableView.contentOffsetinitialContentOffset(注意,這是一個CGPoint變量)
  2. 拉刷新後,設置tableView.contentOffset = initialContentOffset

其他問題:

  1. 該表的初始內容偏移似乎爲(0,0)。由於我 有一個導航欄,我計算了y偏移量(它出現在 66)。然後創建我initialContentOffset爲CGPoint(0,-66)
  2. 在我而言,這個問題似乎在iOS 10.只有影響iPhone 6SP不知道爲什麼...
相關問題