【发布时间】:2014-01-02 20:51:35
【问题描述】:
我迁移到 Xcode 5 并开始为 iOS 7 编程。我正在尝试手动(以编程方式)设置标签的位置,以便为 iPhone 4 设备和 iPhone 5 设备生成不同的布局。我想这应该很容易如下:
在viewDidLoad:
myLabel.autoresizingMask = UIViewAutoresizingNone;
myLabel.frame = CGRectMake(10, 10, 280, 21);
至少 StackOverflow 上的所有文章都说要这样做,但它不适用于我。无论我在CGRectMake 中输入什么值,标签都不会改变位置。我什至在viewWillLayoutSubviews 中尝试了相同的代码,但也没有用。如果我NSLog 新坐标,它会告诉我它占用了它们,但在模拟器上标签位置没有变化。
有什么建议吗?
【问题讨论】:
-
您是否强制刷新屏幕,
[yourView setNeedsDisplay]? -
您将其添加为某事物的子视图或 self.view ?被添加为子视图..请检查相对于父视图..
-
尝试在 ViewWillAppear 中添加您的标签代码
-
setNeedsDisplay没用,我试过了。 -
viewWillAppear也不起作用。到目前为止唯一有效的是关闭 Autolayout 的想法(建议如下),但我担心因此我现在必须手动设置所有内容,我不希望那样。我只想手动设置一些项目..
标签: ios iphone ios7 uilabel xcode5