似乎autolayout覆盖了“ViewDidLoad”中的命令。
目标:我想以编程方式定义标签的大小,以反映标签的重要性。我不希望标签与文本大小相符。我不希望标签的文本与标签的大小不符。
我用Swift和XCODE6编码。
当我在“ViewDidLoad”中使用时

        team1ScoreLabel.frame.size.width=400

它没有效果。
当我在按钮操作函数中复制并粘贴它时,它会按照我希望的标签大小调整大小。所以这行代码没问题。
对我来说,这意味着autolayout约束不允许在“ViewDidLoad”方法中调整标签的大小。
我在“viewdideappear”中没有成功
知道当视图出现时如何调整标签大小吗?
我不想禁用autolayout,因为我经常将其用于其他约束。

最佳答案

当“自动布局”生效时,不能通过更改视图的边框来移动视图。当调用任何布局方法时,视图上的约束将根据其规则将视图移回。
正如PaulW11在他的评论中所说,您希望创建约束并将它们连接到IBOutlets,然后更改代码中约束的值。请注意,viewDidLoad可能太早了,因为此时视图控制器的内容视图尚未根据屏幕的大小和方向进行调整。您可能希望在视图中进行调整。

关于ios - 出现 View 时,以编程方式定义UILabel的大小,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/33322945/

10-12 00:11
查看更多