2017-02-02 90 views
0

當用戶點擊tabbar按鈕時,我需要滾動我的tableview到頂部,並且我設置爲這樣。iOS UITableview滾動中途停止

- (void)tabBarController:(UITabBarController *)tabBarController didSelectViewController:(UIViewController *)viewController { 
    UIViewController *vc = ((UINavigationController *)viewController).viewControllers[0]; 

    static UIViewController *previousController = nil; 
    if (previousController == vc) { 
     // the same tab was tapped a second time 

     SEL selector = NSSelectorFromString(@"scrollToTop"); 
     ((void (*)(id, SEL))[vc methodForSelector:selector])(vc, selector); 

    } 
    previousController = vc; } 


- (void)scrollToTop { 
    [self.tblListing setContentOffset:CGPointZero animated:NO]; 
} 

問題是滾動停止一半,它不會滾動到頂部。我需要點擊2 - 3次才能滾動到頂部。有什麼我需要檢查?在我的其他項目中,儘管如此。對於這個,我使用自我大小的細胞。

回答

1

,如果你已經至少有一行

NSIndexPath *indexPath = [NSIndexPath indexPathForRow:0 inSection:0]; 
[self.tblListing scrollToRowAtIndexPath:indexPath atScrollPosition:UITableViewScrollPositionTop animated:YES]; 
+0

感謝您可以使用下面的代碼。它正在處理你的建議。我仍然需要找出爲什麼我的內容偏移方法不起作用。 –

+0

可能是這個職位幫助你:http://stackoverflow.com/q/19243177/468724 –

+0

讓我看看。 –