经过大量研究我能够解决它。
我在这里写答案,希望将来对其他人有所帮助。
当段控制被按下时,写下面的代码。
@IBAction func segHeaderPressed(sender: UISegmentedControl) {
如果 segHeader.selectedSegmentIndex == 0{
让 sortedViews = sender.subviews.sort( { $0.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
//你的代码...
}else if(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()
}
}
// 你的代码...
}else if(segHeader.selectedSegmentIndex == 2){
让 sortedViews = sender.subviews.sort( { $0.frame.origin.x
for (index, view) in sortedViews.enumerate() {
if index == sender.selectedSegmentIndex {
view.backgroundColor = iOSBlueColor //UIColor.blueColor()
} else {
view.backgroundColor = UIColor.clearColor()
}
}
}else if(segHeader.selectedSegmentIndex == 3){
让 sortedViews = sender.subviews.sort( { $0.frame.origin.x
for (index, view) in sortedViews.enumerate() {
if index == sender.selectedSegmentIndex {
view.backgroundColor = iOSBlueColor //UIColor.blueColor()
} else {
view.backgroundColor = UIColor.clearColor()
}
}
}
}
基本上分段控制功能一旦被选中,如果你再次点击它就不会响应。所以我只是改变选定段的背景颜色。希望它可以帮助某人。