2016-08-12 43 views
0

我有一個自定義tableView與標題和一些部分。我使用三個viewControllers之間的選項卡。 ViewControllertableView是我的應用程序主頁。當我第一次打開應用程序時,每件事都可以。但是,如果我向下滾動我的tableView,然後使用選項卡移動到其他viewController並返回到我的主屏幕,TableView會顯示在我離開的部分。我希望它與頭部呈現(我的viewController應該從頂部而不是中間呈現)。這裏是屏幕截圖。呈現TableView與標題,而不是中間部分或頁腳

這是我的主屏幕

enter image description here


,如果我向下滾動像下面

enter image description here

並採用下面的TabBar移動到下一個屏幕


enter image description here

這是我所得到的,當我回來的主屏幕


enter image description here

它不應該與第一次相同嗎?

+1

發生這種情況的原因是選項卡欄控制器不會重新加載表視圖。當有人將標籤切換到家庭控制器時,您可能需要將桌面視圖滾動到頂部。 – Harsh

回答

1

在您的第一個標籤的viewControllers中,在viewWillAppear()方法中添加以下代碼。

let scrollPoint = CGPoint(x: 0, y: 0) 
self.tableView.setContentOffset(scrollPoint, animated: false) 
+0

它的工作感謝 – Byte

+1

如果你使用'scrollToRowAtIndexPath'它可能會崩潰,如果你沒有'indexPath'這就是爲什麼我給你答案'setContentOffset'。如果你的tableView沒有數據,那麼它也不會崩潰。 –

+0

ohh謝謝解釋:-) – Byte

1

什麼你可能需要做的是,實現委託

- (void)tabBarController:(UITabBarController *)tabBarController didSelectViewController:(UIViewController *)viewController 

現在,在這個代表當選擇您的主視圖控制器,訪問你的表視圖,並滾動到運算編程。

相關問題