我的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;
}
它们的尺寸已更改,但它们不会移动到左上角。
答案 0 :(得分:0)
好的,我发现这个问题。我在viewWillLayoutSubviews方法中进行了一些设置。我不知道,在你添加一些子视图后调用它。谢谢你的帮助