2015-06-14 2 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. С помощью AutoLayout вы не можете изменить рамку представления и заставить ее работать. Часто ограничения переопределяют сделанные вами изменения и ничего не происходит.

Вместо этого: (., Основываясь на верхней направляющей макета)

Создать горизонтальное положение ограничение (на основе передней кромки) и вертикальное положение ограничение

Создание высоты и ширины ограничений.

Управлять перетаскиванием из всех 4 ограничений в верхней части вашего кода контроллера вида для создания точек для ваших ограничений.

Затем просто применить изменения к постоянной собственности ваших ограничений и вызвать layoutIfNeeded на надтаблицы данной кнопки (или представления содержимого контроллера представления - что должно работать тоже.)