导航 - &当UIScrollView滚动时,工具栏不会隐藏

时间:2012-08-29 19:05:50

标签: ios xcode uiscrollview contentoffset

- (void)scrollViewDidScroll:(UIScrollView *)scrollView {
    lastOffset = scrollView.contentOffset;

    if (scrollView.contentOffset.y < lastOffset.y) {
        [self.navigationController setNavigationBarHidden:YES animated:YES];
        [self.navigationController setToolbarHidden:YES animated:YES];
    }
    else {
        [self.navigationController setNavigationBarHidden:NO animated:YES];
        [self.navigationController setToolbarHidden:NO animated:YES];
    }
}

我做错了什么? UIScrollViewDelegate已经在我的头文件中设置。

2 个答案:

答案 0 :(得分:4)

你应该移动

lastOffset = scrollView.contentOffset;

到方法的末尾,否则

scrollView.contentOffset.y < lastOffset.y

永远不会成真。

答案 1 :(得分:1)

它不会被隐藏,因为每次调用 else 部分中的代码时。 假设contentOffset =(100,100) 然后你将最后一个偏移量设置为等于contentOffset,所以if (scrollView.contentOffset.y < lastOffset.y)它永远不会成立。将lastOffset = scrollView.contentOffset;放在scrollViewDidScroll方法的末尾。