我迁移到Xcode 5并开始为iOS 7编程。我试图手动(以编程方式)设置我的标签位置,以便为iPhone 4设备和iPhone 5设备生成不同的布局。我想这应该很容易,如下:
在viewDidLoad
:
myLabel.autoresizingMask = UIViewAutoresizingNone;
myLabel.frame = CGRectMake(10, 10, 280, 21);
至少所有关于 StackOverflow 的文章都是这样说的,但它并没有与我合作。无论我在CGRectMake
输入什么值,标签都不会改变位置。我甚至在viewWillLayoutSubviews
尝试了相同的代码,但也没有用。如果我NSLog
新坐标,它会显示它已经占用了它们,但在模拟器上标签位置没有变化。
有什么建议吗?
答案 0 :(得分:5)
我认为您必须在Interface Builder中关闭主视图的“Use Autolayout”标志。 创建新项目时,默认情况下会启用“自动布局”。
答案 1 :(得分:0)
在viewDidLoad中尝试调用
[self.view frame];
这将强制重绘屏幕。 :)
我知道,它看起来像是行业代码,但有时它会有所帮助:)