我正在使用导航控制器进行导航。
我的根视图控制器的 UIView 包含我在 IB 中添加的 UIScrollView。我发现根据我的滚动视图当前可见部分,当我从这个视图导航到另一个视图并返回时,我发现事情非常随意。
希望这个描述有帮助
当我根本不滚动时,没有效果。
当我前进并返回时,它保持不变。但是,当我滚动到滚动视图的底部时,如下图所示
然后向前导航,然后立即向后导航让我在这张照片上
最后,我记录了这个滚动视图的所有边界、框架、内容大小,以发现以下奇怪的变化
2013-05-19 14:16:54.139 app2[1302:c07] {{0, 0}, {320, 392}}
2013-05-19 14:16:54.139 app2[1302:c07] {320, 456}
2013-05-19 14:16:54.140 app2[1302:c07] {{0, 0}, {320, 392}}
上面分别是初始bounds、contentSize、frame。下面是导航后返回。
2013-05-19 14:20:47.490 app2[1302:c07] {{0, 64}, {320, 392}}
2013-05-19 14:20:47.490 app2[1302:c07] {320, 456}
2013-05-19 14:20:47.491 app2[1302:c07] {{0, 0}, {320, 392}}
我不知道我做错了什么。请帮我。
代码 这是代码,操作滚动视图
[self.scrollView setCanCancelContentTouches:YES];
[self.scrollView setDelaysContentTouches:NO];
[self.scrollView setFrame:self.view.frame];
[self.scrollView setBounds:self.view.bounds];
- (IBAction)moreFiltersFunction:(UIButton*)sender {
sender.selected = !sender.isSelected;
if (sender.isSelected) {
[self.scrollView addSubview:self.moreFiltersView];
[self.scrollView setContentSize:CGSizeMake(320, self.scrollView.frame.size.height + 280)];
[self.scrollView scrollRectToVisible:self.moreFiltersView.frame animated:YES];
} else {
[self.moreFiltersView removeFromSuperview];
[self.scrollView setContentSize:CGSizeMake(320, self.view.frame.size.height)];
}
}