ナビゲーションにナビゲーションコントローラーを使用しています。
私のルート ビュー コントローラーの UIView には、IB に追加した UIScrollView が含まれています。scrollView の現在の表示部分に応じて、このビューから別のビューに移動して戻ると、物事が非常に不自然であることがわかります。
この説明が役に立てば幸いです
まったくスクロールしないと効果がありません。
進んで戻っても変わらない。ただし、次の図に示すように、スクロールビューの一番下までスクロールすると
次に、前方に移動してからすぐに後方に移動すると、この写真に着きます
最後に、このスクロールビューのすべての境界、フレーム、コンテンツサイズを記録して、次の奇妙な変更を見つけました
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}}
上記は、それぞれ初期境界、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}}
何を間違えたのかわからない。私を助けてください。
コード これは scrollView を操作するコードです
[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)];
}
}