我正在使用導航控制器進行導航。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