我的 ViewController 的 View 有几个子视图。在用户的操作中,我添加了更多的子视图,并尝试修改所有子视图的位置。只有新添加的子视图的位置在变化,旧的没有。
如果我更改旧子视图的位置而不将新子视图添加到我的视图中,一切都会按预期工作。
我也试过改变它们的尺寸。这似乎奏效了。问题只是位置。
有人遇到过类似的问题吗?提前致谢!
编辑:
我已经尝试通过改变中心和改变框架的原点。
[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;
}
它们的大小已更改,但不会移动到左上角。