2015-06-14 75 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按鈕的上海華盈(或視圖控制器的內容視圖 - 應該工作了。)