2016-11-15 2 views
0

Я делаю приложение калькулятора на xcode7.x, swift 2.x.Как использовать кнопки на «одном IBAction для нескольких кнопок» в swift 2.x?

Пожалуйста, расскажите, как отображать разные номера при использовании одного IBAction для всех номеров.

+3

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

ответ

0
  1. Создание кнопок в XIb/раскадровка

  2. Set tag свойство для каждой цифры (Посмотреть раздел справа) enter image description here

  3. Ctrl-перетащить из любой кнопки в классе

  4. Выберите IBAction во всплывающем окне и введите имя для IBAction

  5. Реализация метода:

@IBAction func digitPressed(button: UIButton) { 
    print("digit pressed: \(button.tag)") 
} 

P.S. Я бы не рекомендовал использовать тот же метод для ВСЕХ ваших кнопок, только для тех, которые очень близки по своей природе, например цифры. Если у вас также есть кнопки + - * /, вы должны добавить другие IBActions для каждого из них.

1

Или программно для любого количества кнопок (обратите внимание: это Swift 3,0)

func setUp() { 
    var button1, button2: UIButton! 

    let buttons = [button1, button2] 

    for i in 0..<buttons.count { 
     buttons[i]?.tag = i 
    } 

    buttons.forEach({ $0.addTarget(self, action: #selector(MyClass.myAction(_:)), for: .touchUpInside) }) 
} 

func myAction(_ sender: UIButton) { 
    print(sender.tag) 
} 
Смежные вопросы