0
我的ViewController的視圖有幾個子視圖。在用戶的操作中,我添加了更多的子視圖,並嘗試修改所有子視圖的位置。只有新添加的子視圖的位置正在改變,舊的不是。查看定位問題
如果我更改舊的子視圖的位置而不添加新的到我的視圖,一切都按預期工作。
我也試過改變它們的尺寸。這似乎工作。問題只在於這個位置。
任何人都遇到過類似的問題?提前致謝!
編輯:
I`ve通過改變中心,通過改變框架的由來試過。
[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;
}
它們的大小被改變,但他們不會移動到左上角。
您是否在更改視圖位置時更改視圖的中心屬性? – tiguero
你如何保存對這些子視圖的引用?你是否在改變框架時指的是他們全部?代碼請... – Stavash
好的,發現問題,我猜。我在viewWillLayoutSubviews方法中做了一些設置。我不知道,它是在添加一些子視圖後調用的。謝謝您的幫助 – Levi