2015-06-14 79 views
0

我试图在按下按钮时使此标签以随机大小出现在屏幕的随机区域。在屏幕上的随机地方显示标签

任何指导表示赞赏。

这是我到目前为止有:

@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

酷的故事兄弟!那么,您发布的代码如何不能满足您的需求? –

+0

@DuncanC感谢您的回复。它根本不会移动标签,或者如果是,它会在20次点击后返回到开头。 – Walking

+1

是标签UILabel子类? – Woodstock

回答

1

您可能正在使用自动版式。借助AutoLayout,您无法更改视图的框架并使其工作。通常情况下,这些约束会覆盖您所做的更改并且什么都不会发生

相反,操作如下:(基于顶部布局指南)

创建一个水平位置约束(基于前沿)和垂直方向位置约束

创建高度和宽度的限制。

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

然后,只需将更改应用于您的约束不变的性质,并呼吁layoutIfNeeded按钮的上海华盈(或视图控制器的内容视图 - 应该工作了。)