Для проверки, когда изменяется управляющее значение сегмента, вы можете использовать метод addTarget
следующим образом.
segmentControl.addTarget(self, action: #selector(onSegmentedControlValueChanged(_:)), for: .valueChanged)
Затем просто внедрите onSegmentedControlValueChanged
, как вы делали с вашими предыдущими методами, такими как:
@objc func onSegmentedControlValueChanged(_ sender: UISegmentedControl) {
// Do something when segment control value changes
}
Для изменения текста заголовка элемента управления вашего сегмента вам не нужно проверять, когда значение изменяется, и вы можете добиться этого, просто используя следующий фрагмент кода:
let titleTextAttributesForSelected = [NSAttributedString.Key.foregroundColor: UIColor.white]
let titleTextAttributesForNormal = [NSAttributedString.Key.foregroundColor: UIColor.black]
segmentControll.setTitleTextAttributes(titleTextAttributesForSelected, for: .selected)
segmentControll.setTitleTextAttributes(titleTextAttributesForNormal, for: .normal)
Это все, что вам нужно для измененияЦвет заголовка сегмента для разных состояний.