我在我的應用程序(如Instagram的)做了ScrollToTop功能,我在我的應用程序使用缺省UINavigationBar的,滾動默認UINavigationBar的結果hideTheNavBar在另一個UIViewController中
要做到這一點我用下面的方法
- (void)scrollViewDidScroll:(UIScrollView *)sender
{
//Initializing the views and the new frame sizes.
UINavigationBar *navbar =self.navigationController.navigationBar;
UIView *tableView = self.view;
CGRect navBarFrame = self.navigationController.navigationBar.frame;
CGRect tableFrame = self.view.frame;
//changing the origin.y based on the current scroll view.
//Adding +20 for the Status Bar since the offset is tied into that.
//if (isiOS7)
//{
navBarFrame.origin.y = MIN(0, MAX(-64, (sender.contentOffset.y * -1))) +20 ;
tableFrame.origin.y = navBarFrame.origin.y + navBarFrame.size.height;
//}else{
// navBarFrame.origin.y = MIN(0, (sender.contentOffset.y * -1)) +20;
// tableFrame.origin.y = MIN(0,MAX(-44,(sender.contentOffset.y * -1))) ;
//}
navbar.frame = navBarFrame;
tableView.frame = tableFrame;
}
現在的問題是,當我用這個方法,這是在當前視圖控制器(按Ctrl A)完全正常
第1步:滾動我的UIScrollView或者UITableView的在按Ctrl A(默認的NavBar隱藏在按Ctrl A)
第2步:現在,我推着或呈現另一個視圖控制器(按Ctrl B)
結果:按Ctrl B默認的NavBar那張隱藏的(空黑色空間)
感謝您的幫助。