После много исследований я в состоянии решить.
Письмо ответ здесь может быть полезным другим в будущем.
При нажатии кнопки управления сегментом введите код ниже.
@IBAction FUNC segHeaderPressed (отправитель: UISegmentedControl) {
, если segHeader.selectedSegmentIndex == 0 {
пусть sortedViews = sender.subviews.sort ({$ 0.frame.origin.x < $ 1. frame.origin.x})
for (index, view) in sortedViews.enumerate() {
if index == sender.selectedSegmentIndex {
view.backgroundColor = iOSBlueColor // UIColor.blueColor()
} else {
view.backgroundColor = UIColor.clearColor()
}
}
selectedInd = -1
// код ... } еще если (segHeader .selectedSegmentIndex == 1) {
let sortedViews = sender.subviews.sort({ $0.frame.origin.x < $1.frame.origin.x })
for (index, view) in sortedViews.enumerate() {
if index == sender.selectedSegmentIndex {
view.backgroundColor = iOSBlueColor //UIColor.blueColor()
} else {
view.backgroundColor = UIColor.clearColor()
}
}
// код ... } еще если (segHeader.selectedSegmentIndex == 2) {
пусть sortedViews = sender.subviews.sort ({$ 0. frame.origin.x < $ 1.frame.origin.х})
for (index, view) in sortedViews.enumerate() {
if index == sender.selectedSegmentIndex {
view.backgroundColor = iOSBlueColor //UIColor.blueColor()
} else {
view.backgroundColor = UIColor.clearColor()
}
}
} иначе, если (segHeader.selectedSegmentIndex == 3) {
пусть sortedViews = sender.subviews.sort ({$ 0.frame.origin.x < $ 1.frame.origin. х})
for (index, view) in sortedViews.enumerate() {
if index == sender.selectedSegmentIndex {
view.backgroundColor = iOSBlueColor //UIColor.blueColor()
} else {
view.backgroundColor = UIColor.clearColor()
}
}
}}
в основном сегментирован функциональность Controll является, когда он выбран, если нажать еще раз то же самое, что не будет отвечать. поэтому просто меняю цвета фона для выбранного сегмента. надеюсь, что это помогает кому-то.
только один раз (когда значение меняется) его срабатывание, во второй раз нажмите его не стрелять –