在屏幕上的随机位置显示标签

时间:2015-06-14 21:07:33

标签: ios swift

当按下按钮时,我试图让这个标签以随机大小显示在屏幕的随机区域。

感谢任何指导。

这是我到目前为止所拥有的:

@IBAction func Button(sender: AnyObject) {

        //random x and y value
        var xValue = CGFloat(arc4random() % 50)
        var yValue = CGFloat(arc4random() % 20)

        //random sizes
        var xSize = CGFloat(arc4random_uniform(150) + 60)
        var ySize = CGFloat(arc4random_uniform(150) + 60)
        Label.text = faces.RandomFace()
        Label.frame = CGRectMake(xValue, yValue, xSize, ySize)
}

1 个答案:

答案 0 :(得分:1)

您可能正在使用AutoLayout。使用AutoLayout,您无法更改视图的框架并使其正常工作。通常,约束会覆盖您所做的更改,并且没有任何反应。

相反,这样做:

创建水平位置约束(基于前沿)和垂直位置约束(基于顶部布局指南)。

创建高度和宽度约束。

控制 - 从所有4个约束拖动到视图控制器代码的顶部,为约束创建出口。

然后只需将更改应用于约束的常量属性,并在按钮的超级视图上调用layoutIfNeeded(或者在视图控制器的内容视图上调用 - 也应该有效。)