Менять кадр кнопки с помощью arc4random?

У меня есть UIButton. Я хочу, чтобы он генерировал в случайных местах на экране. Он не возвращает ошибок и работает, но на экране ничего не отображается. Я попытался жестко кодировать значения, и это работает. Я использую Swift.

КОД:

import UIKit

class ViewController: UIViewController {

    let changingPoint = UIButton()
    let dot = UIImage(named: "sponsor-dot.png")

    override func viewDidLoad() {
        super.viewDidLoad()
        // Do any additional setup after loading the view, typically from a nib.

        changingPoint.setImage(dot, forState: .Normal)
        changingPoint.addTarget(self, action: "pointPressed:", forControlEvents: .TouchUpInside)
        changingPoint.frame = CGRectMake(CGFloat(arc4random()%(320)), CGFloat(arc4random()%(568)), 150, 150)

        self.view.addSubview(changingPoint)
    }

    func pointPressed(sender: UIButton!) {
        changingPoint.frame = CGRectMake(CGFloat(arc4random()%(320)), CGFloat(arc4random()%(568)), 150, 150)
        println()
    }

    override func didReceiveMemoryWarning() {
        super.didReceiveMemoryWarning()
        // Dispose of any resources that can be recreated.
    }


}

2 ответа

Полагаю, что вы не установили цвет фона для кнопки.

changingPoint.backgroundColor = UIColor.blackColor() //or any other color that you want

Я не думаю, что ваше изображение загружается правильно. Попробуйте напечатать точку, чтобы увидеть, является ли она нулевой:

println("image: \(dot)")
Другие вопросы по тегам