当按下按钮时,我试图让这个标签以随机大小显示在屏幕的随机区域。
感谢任何指导。
这是我到目前为止所拥有的:
@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)
}
答案 0 :(得分:1)
您可能正在使用AutoLayout。使用AutoLayout,您无法更改视图的框架并使其正常工作。通常,约束会覆盖您所做的更改,并且没有任何反应。
相反,这样做:
创建水平位置约束(基于前沿)和垂直位置约束(基于顶部布局指南)。
创建高度和宽度约束。
控制 - 从所有4个约束拖动到视图控制器代码的顶部,为约束创建出口。
然后只需将更改应用于约束的常量属性,并在按钮的超级视图上调用layoutIfNeeded(或者在视图控制器的内容视图上调用 - 也应该有效。)