2014-12-23 2 views
-1

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

@IBOutlet var number1: UILabel! 
@IBOutlet var number2: UILabel! 
@IBOutlet var result: UILabel! 

var randomNumber1:Int = 0 
var randomNumber2:Int = 0 

override func viewDidLoad() { 
    super.viewDidLoad() 
} 

@IBAction func generate(sender: AnyObject) { 

    randomNumber1 = Int(arc4random())%11 
    number1.text = "\(randomNumber1)" 

    randomNumber2 = Int(arc4random())%11 
    number2.text = "\(randomNumber2)" 

    result.text = "\((randomNumber1) + (randomNumber2))" 
} 
+0

Вы хотите изменить кнопку или метку результата? Потому что сейчас вы изменяете метку результата. –

ответ

1

Попробуйте это:

@IBAction func generate(sender: UIButton) { 

    randomNumber1 = Int(arc4random())%11 
    number1.text = "\(randomNumber1)" 

    randomNumber2 = Int(arc4random())%11 
    number2.text = "\(randomNumber2)" 

    result.text = "\((randomNumber1) + (randomNumber2))" 

    sender.setTitle("\((randomNumber1) + (randomNumber2))", forState: UIControlState.Normal) 
} 

Вы отсутствовали эту строку

sender.setTitle("\((randomNumber1) + (randomNumber2))", forState: UIControlState.Normal) 

Надежда это помогает .. :)

+0

Спасибо. Это сработало. – user3499983

0

В вашем текущем коде вы меняете текст метки result, а не кнопку. Для того, чтобы изменить название UIButtonsender «S, изменить свой код на следующее:

@IBAction func buttonPress(sender: UIButton) { 

    let randomNumber1 = Int(arc4random())%11 
    number1.text = "\(randomNumber1)" 

    let randomNumber2 = Int(arc4random())%11 
    number2.text = "\(randomNumber2)" 

    sender.setTitle("\((randomNumber1) + (randomNumber2))", forState: UIControlState.Normal) 

} 
1

Попробуйте этот код, вместо anyobject использования UIButton

@IBAction func generate(sender: UIButton) { 

    randomNumber1 = Int(arc4random())%11 
    number1.text = "\(randomNumber1)" 

    randomNumber2 = Int(arc4random())%11 
    number2.text = "\(randomNumber2)" 

    result.text = "\((randomNumber1) + (randomNumber2))" 


    //Just add this line in the code 
    sender.setTitle(result.text, forState: UIControlState.Normal) 
} 
Смежные вопросы