Ios6 自动布局问题
我正在努力使用Autolayout(这是我第一次在新的应用程序中使用它) 以下情况:Ios6 自动布局问题,ios6,storyboard,autolayout,Ios6,Storyboard,Autolayout,我正在努力使用Autolayout(这是我第一次在新的应用程序中使用它) 以下情况: 故事板 iPad 启用自动布局 在一个Popover中,我需要根据用户选择以编程方式重新布局8个按钮。在按钮必须旋转180°之前,此功能一直正常工作(倒置查看,这是应用程序的一项功能) 一旦我添加了旋转的代码,重新调整就不再有效了。 我不明白为什么我可以改变按钮的位置(如案例2),但是当旋转按钮时,它就不再工作了 案例1: 按钮0 |按钮1 |按钮2 |按钮3 按钮4 |按钮5 |按钮6 |按钮7 案例2:
- 故事板
- iPad
- 启用自动布局
按钮4 |按钮5 |按钮6 |按钮7 案例2: 按钮7 |按钮6 |按钮5 |按钮4
按钮3 |按钮2 |按钮1 |按钮1
(所有按钮旋转180°,即翻转) 一旦自动布局关闭,它的工作就像一个魅力。 问题是,一旦我关闭自动布局,应用程序的其余部分就完全搞糟了 如果有人能帮我理解这个问题那就太好了 代码在视图中显示
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部分搞砸,但我不明白为什么,我期待着你的帮助或指导,继续研究神秘的自动布局
希望解释可以理解:-)
谢谢,祝你今天愉快
Ronnie如果使用autolayout,则应更改约束,而不是设置按钮的框架
- 这是斯坦福大学关于autolayout的一个很好的入门课程:
- 下面是一个关于在Interface Builder中使用autolayout的示例李>
- 这里有几个问题可以说明如何以编程方式添加约束,以及
不幸的是,自动布局仍然远远落后于预期的功能,尤其是在定义和识别固有位置方面,甚至在自动设置约束方面更是如此。这是一个需要改进的巨大领域。如果在
视图中不使用任何代码,会发生什么情况?我不明白你为什么需要它。根据用户在设置中的选择,只有5个按钮和不同的顺序。这就是为什么我需要以编程方式对它们重新排序。例如,它将是按钮1 |按钮3 |按钮5 |按钮6 |按钮7感谢指示。对于我在当前应用程序中需要的内容,我认为Autolayout是“过顶的”,我关闭了Autolayout,并重新显示了关闭后出错的所有内容。(很抱歉回复太晚,没有互联网)@MR Apps没问题,很高兴你能正常工作。自动布局一开始就有点混乱!