私のViewControllerのビューにはいくつかのサブビューがあります。ユーザーのアクションで、さらにサブビューを追加し、すべてのサブビューの位置を変更しようとします。新しく追加されたサブビューの位置のみが変更され、古いサブビューは変更されません。
ビューに新しいサブビューを追加せずに古いサブビューの位置を変更すると、すべてが期待どおりに機能します。
サイズも変えてみました。それは機能しているようです。問題は位置だけにあります。
誰かが同様の問題に遭遇しましたか?前もって感謝します!
編集:
中心を変えて、フレームの原点を変えてみました。
[UIView animateWithDuration:3
delay:0
options:UIViewAnimationOptionCurveEaseInOut
animations:^{
for (UIView *view in self.oldSubviews) {
view.center = center1;
}
for (UIView *view in self.newSubviews) {
view.center = center2;
}
} completion:^(BOOL finished) {
}];
のビューがnewSubviews
サブビューとして追加されていない場合、すべてが正常です。の配列を印刷しましたself.view.subviews
が、新しいサブビューと古いサブビューの間に目に見える違いはありません。
これは私がフレームで試したものです:
for (UIView *view in self.oldSubviews) {
CGRect frame = view.frame;
frame.origin = CGPointZero;
frame.size = CGSizeMake(150, 300);
view.frame = frame;
}
サイズは変更されますが、左上隅には移動されません。