У меня есть метод сегментированного действия управления с двумя сегментами
@IBAction func segmentChanged(_ sender: UISegmentedControl) {
// What goes here for displaying data similar to buttonsTapped?
}
У меня есть три кнопки следующим образом
@IBOutlet weak var buttonOne: UIButton!
@IBOutlet weak var buttonTwo: UIButton!
@IBOutlet weak var buttonThree: UIButton!
У меня есть метод действия для всех 3 кнопок,
@IBAction func buttonsTapped(_ sender: UIButton) {
switch sender {
case buttonOne:
print("Button one Tapped")
case buttonTwo:
print("Button two tapped")
case buttonThree:
print("Button three tapped")
default: break
}
if segmentedControl.selectedSegmentIndex == 0
{
print("First Segment")
}
else
{
print("Second Segment")
}
}
Когда я нажимаю на кнопку «Один», я получаю "First Segment"
и "Button One Tapped"
, как в первом сегменте.Аналогично, buttonTwo и buttonThree отображают правильные сообщения на консоли.
Но когда я меняю сегментированный элемент управления, я не получаю никаких сообщений на консоли.Я попытался вызвать buttonOne.sendActions(for: .touchUpInside)
в segmentChanged
методе, и он работает только для buttonOne и портит других.Как получить правильные сообщения для всех кнопок и сегментов при изменении сегмента?Заранее спасибо.