Ios 如何在UISegmentedControl中以编程方式设置段的选定状态
我的UISegmentedControl中有四个段。如果用户选择了第一段,我将尝试通过编程同时设置第三段和第四段的选定状态 示例:在给定的分段控件中,如果用户选择了段a,则应选择C、D 我研究了苹果的方法,但没有发现一种符合我的要求。我正在寻找一种类似于- 非常感谢您在这方面的任何帮助Ios 如何在UISegmentedControl中以编程方式设置段的选定状态,ios,ios7,uisegmentedcontrol,Ios,Ios7,Uisegmentedcontrol,我的UISegmentedControl中有四个段。如果用户选择了第一段,我将尝试通过编程同时设置第三段和第四段的选定状态 示例:在给定的分段控件中,如果用户选择了段a,则应选择C、D 我研究了苹果的方法,但没有发现一种符合我的要求。我正在寻找一种类似于- 非常感谢您在这方面的任何帮助 -(void)setSelected:(BOOL)为分段索引:(nsInteger)段选择 参数 启用 是选择指定的段,或否取消选择该段。默认情况下,将取消选择线段 分段 标识控件中某个段的索引号。它必须是介于
-(void)setSelected:(BOOL)为分段索引:(nsInteger)段选择 参数 启用 是选择指定的段,或否取消选择该段。默认情况下,将取消选择线段 分段 标识控件中某个段的索引号。它必须是介于0和段数(numberOfSegments)减1之间的数字;超过此上限范围的值将固定到该值
您只需使用文档中的
selectedSegmentIndex
属性即可
简单地说:
[segmentControl setSelectedSegmentIndex:2];
考虑到您可以只设置1个索引,如果您想取消选择所有,您必须设置索引-1使用
setSelectedSegmentIndex
像这样-
[mySegmentControl setSelectedSegmentIndex:index]
UISegmentedControl
的工作原理类似于一组单选按钮。也就是说,一次只能选择一个段。要获得所需的功能,需要创建一个类似于UISegmentedControl
的自定义控件 这不能在SegmentControl中以编程方式完成,但可以通过以下方式完成:
您可以创建一个imageView,在其上放置四个大小相等的按钮(如线段),并在按下一个按钮时使其透明。更改imageView的图像(如线段C、D),这样您可以执行其他任务 此代码适用于swift 2.0
// Declare outlet for our segmented control
@IBOutlet weak var segmentcontroll: UISegmentedControl!
// Declare our IBAction for the segmented control
@IBAction func segmentneeded(sender: AnyObject) {
// Here we test for the presently selected segment
switch segmentcontroll.selectedSegmentIndex {
case 0:
self.view.backgroundColor=UIColor.purpleColor()
segmentcontroll.selectedSegmentIndex=UISegmentedControlNoSegment
case 1:
self.view.backgroundColor=UIColor.yellowColor()
segmentcontroll.selectedSegmentIndex=UISegmentedControlNoSegment
default:
self.view.backgroundColor=UIColor.grayColor()
segmentcontroll.selectedSegmentIndex=UISegmentedControlNoSegment
}
}
Swift 4.0
segmentedControl.selectedSegmentIndex = index
首先,从您从UI添加的分段控件创建一个出口
@IBOutlet weak var segmentedControl: UISegmentedControl!
使用下面的代码以编程方式更改选定的段
segmentedControl.selectedSegmentIndex = 1 // index
嗨-我一开始尝试过这个,但是setSelectedSegmentIndex:message一次只选择一个段。若用户选择段a,我想立即选择c,d。@Revanth-您选择的控件不适合您的要求。正如建议的那样,您应该考虑构建自己的控件以满足您的需求。谢谢。我可以将一些按钮组合在一起,使其看起来像一个UISegmenetedControl,并添加我正在寻找的自定义功能。