2014-09-27 2 views

ответ

4

Используйте это для @IBAction вашей кнопки:

@IBAction func moveButton(button: UIButton) { 
    // Find the button's width and height 
    let buttonWidth = button.frame.width 
    let buttonHeight = button.frame.height 

    // Find the width and height of the enclosing view 
    let viewWidth = button.superview!.bounds.width 
    let viewHeight = button.superview!.bounds.height 

    // Compute width and height of the area to contain the button's center 
    let xwidth = viewWidth - buttonWidth 
    let yheight = viewHeight - buttonHeight 

    // Generate a random x and y offset 
    let xoffset = CGFloat(arc4random_uniform(UInt32(xwidth))) 
    let yoffset = CGFloat(arc4random_uniform(UInt32(yheight))) 

    // Offset the button's center by the random offsets. 
    button.center.x = xoffset + buttonWidth/2 
    button.center.y = yoffset + buttonHeight/2 
} 

Предупреждение: Если включена AutoLayout, ваша кнопка может привязать обратно в исходное местоположение когда выкладываются подпункты. См. Решение этой проблемы here.

+0

Это сделало это. Благодарю. – perte

Смежные вопросы