Ios 视图定位问题
我的ViewController视图有多个子视图。在用户的操作中,我添加了更多的子视图,并尝试修改所有子视图的位置。只有新添加的子视图的位置在更改,而旧视图的位置没有更改 如果更改旧子视图的位置而不将新子视图添加到视图中,则一切都会按预期进行 我也试过改变他们的尺寸。这似乎奏效了。问题只在于位置 有人遇到过类似的问题吗?提前谢谢 编辑: 我试着改变他们的画面中心和原点Ios 视图定位问题,ios,view,Ios,View,我的ViewController视图有多个子视图。在用户的操作中,我添加了更多的子视图,并尝试修改所有子视图的位置。只有新添加的子视图的位置在更改,而旧视图的位置没有更改 如果更改旧子视图的位置而不将新子视图添加到视图中,则一切都会按预期进行 我也试过改变他们的尺寸。这似乎奏效了。问题只在于位置 有人遇到过类似的问题吗?提前谢谢 编辑: 我试着改变他们的画面中心和原点 [UIView animateWithDuration:3 delay:0
[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) {
}];
当newsubview
中的视图未添加为子视图时,一切正常。我已经打印了self.view.subview的数组,新的和旧的子视图之间没有明显的区别
这是我用框架试过的:
for (UIView *view in self.oldSubviews) {
CGRect frame = view.frame;
frame.origin = CGPointZero;
frame.size = CGSizeMake(150, 300);
view.frame = frame;
}
它们的大小已更改,但不会移动到左上角。好的,我想找到了问题所在。我在viewWillLayoutSubviews方法中进行了一些设置。我不知道,添加一些子视图后会调用它。感谢您的帮助当您提到要更改视图位置时,是否正在更改视图的“中心”属性?如何保存对这些子视图的引用?您在更改帧时是否指的是所有这些?代码请…好的,我想找到问题了。我在viewWillLayoutSubviews方法中进行了一些设置。我不知道,添加一些子视图后会调用它。谢谢你的帮助