2016-10-23 66 views
1

我有一個UITableView標題,它佔據了屏幕的全幀。滾動到表格視圖標題頂部

每當應用程序在後臺運行,然後回到前臺/活動狀態,我希望屏幕被設置回頂部標頭

我只看到與使用像self.tableView.scrollToRow(at: top, at: .top, animated: true)類似的這些answers類似的東西滾動到表頂部的答案,但這不起作用,因爲它只滾動回到第0行的第0行UITableView不是UITableView的標題頂部。

任何想法?

謝謝!

編輯:嘗試這個

override func viewWillAppear(_ animated: Bool) { 
    self.tableView.setContentOffset(CGPoint(x: 0, y: 0) , animated: true) 
} 

這裏是一些值得注意的表設置代碼:

// Set up Frames 
let headerFrame: CGRect = UIScreen.main.bounds 
// Background Table 
self.tableView.isPagingEnabled = true 

// Set up Table Header 
let header = UIView(frame: headerFrame) 
self.tableView.tableHeaderView = header  
+0

你可以發佈你的故事板屏幕截圖 – Joe

+0

@Joe故事板是非常空白的,因爲我在代碼中做了大部分工作,是否有任何特定的代碼可以幫我添加? – SRMR

+0

你可以更新你的代碼和你的問題的截圖。多數民衆贊成在幫助每個人... – Joe

回答

5

的TableView是滾動視圖的子類,所以我想這應該工作:

self.tableView.setContentOffset(CGPoint(x: 0, y: 0) , animated: true) 

當應用程序進入時,ViewWillAppear不會被調用前景。註冊你的VC爲UIApplicationWillEnterForegroundNotification

+0

我已經證實這個工作。只需將此添加到您的'viewWillAppear' –

+0

出於某種原因,我嘗試了它,它不適合我。我上面發佈了我的代碼,以便您能夠看到我是否在做與推薦不同的事情。但爲了測試它,我運行了應用程序,向下滾動到tableview的第二部分,推回家將應用程序發送到後臺,然後點擊應用程序圖標將應用程序帶回前臺,但它停留在第二部分而不是滾動到頂部/標題。 – SRMR

+0

@SRMR做的視圖會出現方法調用? –