我正在努力使用自动布局(第一次在新应用程序中使用它)。
以下情况:
- 故事板
- iPad
- 启用自动布局
在一个 Popover 中,我需要根据用户选择以编程方式重新布局 8 个按钮。这工作正常,直到按钮必须旋转 180°(要倒置查看,这是一个应用程序功能)。
一旦我添加了轮换代码,重新布局就不再起作用了。我不明白为什么我可以更改按钮的位置(如案例 2),但是,旋转时它不再起作用。
情况1:
按钮 0 | 按钮 1 | 按钮 2 | 按钮 3
按钮 4 | 按钮 5 | 按钮 6 | 按钮 7
案例二:
按钮 7 | 按钮 6 | 按钮 5 | 按钮 4
按钮 3 | 按钮 2 | 按钮 1 | 按钮 1
(所有按钮旋转 180°,即倒置)
一旦 AutoLayout 关闭,它就像一个魅力。问题是,一旦我关闭 AutoLayout,应用程序的其余部分就完全搞砸了。
如果有人可以帮助我理解这个问题,那就太好了。
代码在 viewDidAppear
for (UIButton *button in self.allButtons) {
if (button.tag == i) {
button.transform = CGAffineTransformMakeRotation(M_PI);
button.frame = CGRectMake((300 - (100 * currentButtonPosition)) + offsetWidthButton, offsetHeightButton, 100, 100);
NSLog(@"Button Tag Nr: %d\nFrame:\nX=%f\nY=%f\nW=%f\nH=%f",button.tag, button.frame.origin.x, button.frame.origin.y, button.frame.size.width, button.frame.size.height);
}
}
按钮的框架坐标在 NSLog 输出中都是正确的。我想 button.transform 以某种方式搞砸了 .frame = CGRectMake 部分,但为什么我不明白并期待您的帮助或指导,继续研究神秘的自动布局。
希望解释是可以理解的:-)
谢谢,祝你有美好的一天罗尼