サブビューの束を含むUIScrollViewがあります。ビューが最初に横または縦に読み込まれている場合、それぞれのレイアウトは問題ありません。しかし、私がオリエンテーションの変化に対処しようとすると何も起こりません。UIScrollViewが更新されない
私が問題と考えているのは、サブビューフレームは更新中ですが、再描画されていないことです。
私は姿勢変化にフレームを設定するには、今のようにこれを使用しています:
- (void)willRotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation duration:(NSTimeInterval)duration {
int i = 0;
for(UIView *subview in [scroll subviews]) {
if([subview isKindOfClass:[GalleryThumbContainerView class]]) {
[subview setFrame:[self getFrameLandscape:i]];
i++;
} else {
}
}
}
デバイスがポートレートであると私は新しいフレームが更新されるサブビューの景観なしにそれを回転させた場合。
私がデバイスをポートレートにしておき、ビューを離れると、新しいフレームがすべて更新されます。
これは、セットが更新されていないという問題があると私に繋がります。私は試しました:
[self.view setNeedsDisplay];
[self.view setNeedsLayout];
[self.scroll setNeedsDisplay];
[self.scroll setNeedsLayout];
どれも動作しません。新しいフレーム
- :私はそれがで働く「作る」ために管理している
これを行うにはもっとクリーンな方法があるようです。
私はまた、サブビューサブクラス(口いっぱい)に方向変更リスナーを追加し、各サブビューの風景とポートレートフレームを保存しようとしました。その後、リスナーによって切り替えます。これはどちらもうまくいかなかった。
お手数をおかけしますようお願い申し上げます。ありがとうございました。
(scrollView.subviewsでのUIView *ビュー)のための
何UIViewContentModeRedrawにすべてのビューのコンテンツモードの設定は? http://developer.apple.com/library/ios/#documentation/uikit/reference/uiview_class/uiview/uiview.html –
InterfaceOrientationの変更でもScrollViewのサイズを変更していますか? – alex
@alexはい私はあります。 – random