我正在使用导航控制器进行导航。UIScrollView更改界限
我的根视图控制器的UIView包含我在IB中添加的UIScrollView。我发现,根据我的scrollView的当前可见部分,当我从这个视图导航到另一个并返回时,我发现事情非常随意。
希望这说明,让
当我不滚动可言,没有什么效果。
当我向前走,并返回它仍然是相同的。 然而,当我滚动到我的滚动型的底部,如图所示如下图
然后向前导航,然后立即落后国家我在这PIC
最后,我记录的所有边界,帧,这个滚动视图的内容的大小,以发现以下怪异变化
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}}
以上是初始博unds,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)];
}
}
问题是你contentOffset。如果要更改某处的内容偏移量,请确保在推送之前不调用该方法。 – danypata
@danypata:请看看我更新的帖子。我在我操纵scrollView的地方添加了代码。请让我知道如果我做错了什么。还请解释我如何contentOffset和界限有关? –
我遇到同样的问题。你有没有想过如何解决它?我也看到了界限,当我浏览回到我的滚动视图被改变,但我不想手动设置的界限,因为我使用的自动布局无所不为。 – Camputer