2017-02-02 1 views
0

Wenn Benutzer auf Tabbar-Schaltfläche tippen, muss ich meine Tabellenansicht nach oben scrollen und ich so einrichten.iOS UITableview Scrollen stoppen auf halbem Weg

- (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]; 
} 

Problem ist, dass scrolling auf halbem Weg stoppen und es nicht nach oben scrollt. Ich muss 2 - 3 Mal tippen, um nach oben zu scrollen. Gibt es etwas, das ich überprüfen muss? In meinen anderen Projekten ist es allerdings okay. Für diesen benutze ich selbst-größensortierende Zelle.

Antwort

1

Sie unter Code verwenden können, wenn Sie mindestens eine Zeile haben

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

Dank. Es arbeitet mit Ihrem Vorschlag. Ich muss immer noch herausfinden, warum meine Inhaltsversatzmethode nicht funktioniert. –

+0

Kann dieser Beitrag Ihnen helfen: http://Stackoverflow.com/q/19243177/468724 –

+0

Lassen Sie mich auschecken. –

Verwandte Themen