查看定位问题

时间:2012-12-29 14:47:54

标签: ios view

我的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;
}

它们的尺寸已更改,但它们不会移动到左上角。

1 个答案:

答案 0 :(得分:0)

好的,我发现这个问题。我在viewWillLayoutSubviews方法中进行了一些设置。我不知道,在你添加一些子视图后调用它。谢谢你的帮助