2013-03-10 136 views
1

我有一個UITableViewUINavigationController + UIToolbar隱藏工具欄暫時滾動時

我想隱藏工具欄當用戶滾動表。
我隱藏使用此工具欄:

- (void)scrollViewWillBeginDragging:(UIScrollView *)scrollView 
{ 
    [self.navigationController setToolbarHidden:YES animated:YES]; 
} 

並再次顯示工具欄,後錶停止滾動:

- (void)scrollViewDidEndDecelerating:(UIScrollView *)scrollView 
{ 
    [self.navigationController setToolbarHidden:NO animated:YES]; 
} 

這工作得很好,如果我讓表本身減速。但是,如果通過觸摸桌面來停止滾動,這將不起作用。

我應該使用另一個特定的委託函數嗎?

編輯: 我也試過的方法:

- (void)scrollViewDidEndDragging:(UIScrollView *)scrollView 
- (void)scrollViewDidEndScrollingAnimation:(UIScrollView *)scrollView 

沒有區別。

+1

嘗試回顯示在工具欄中此方法' - scrollViewDidEndDragging:willDecelerate:'或'中 - scrollViewWillEndDragging:withVelocity:targetContentOffset:',他們應該做的伎倆 – tkanzakic 2013-03-10 11:09:30

+0

- scrollViewDidEndDragging:willDecelerate:做到了! – 2013-03-10 11:16:42

回答

0

UIScrollViewDelegate協議使用此方法。

- (void)scrollViewDidEndDragging:(UIScrollView *)scrollView willDecelerate:(BOOL)decelerate