如何以编程方式设置UILabel位置iOS 7

时间:2014-01-02 20:51:35

标签: ios iphone ios7 uilabel xcode5

我迁移到Xcode 5并开始为iOS 7编程。我试图手动(以编程方式)设置我的标签位置,以便为iPhone 4设备和iPhone 5设备生成不同的布局。我想这应该很容易,如下:

viewDidLoad

myLabel.autoresizingMask = UIViewAutoresizingNone;
myLabel.frame = CGRectMake(10, 10, 280, 21);

至少所有关于 StackOverflow 的文章都是这样说的,但它并没有与我合作。无论我在CGRectMake输入什么值,标签都不会改变位置。我甚至在viewWillLayoutSubviews尝试了相同的代码,但也没有用。如果我NSLog新坐标,它会显示它已经占用了它们,但在模拟器上标签位置没有变化。

有什么建议吗?

2 个答案:

答案 0 :(得分:5)

我认为您必须在Interface Builder中关闭主视图的“Use Autolayout”标志。 创建新项目时,默认情况下会启用“自动布局”。

enter image description here

答案 1 :(得分:0)

在viewDidLoad中尝试调用

[self.view frame];

这将强制重绘屏幕。 :)

我知道,它看起来像是行业代码,但有时它会有所帮助:)