У меня есть метод сегментированного управляющего воздействия с двумя сегментами
@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")
}
}
Когда я нажимаю кнопку One, я получаю "First Segment"
и "Button One Tapped"
, как в первом сегменте. Точно так же buttonTwo и buttonThree отображают правильные сообщения на консоли.
Но когда я меняю сегментированный элемент управления, я не получаю никаких сообщений на консоли. Я пробовал вызывать buttonOne.sendActions(for: .touchUpInside)
в методе segmentChanged
, и он работает только для buttonOne и портит другие. Как получить правильные сообщения для всех кнопок и сегментов при изменении сегмента? Заранее спасибо.