Vol*_*da2 63 iphone uisegmentedcontrol ios
如何以UISegmentedControll
编程方式切换?
arc*_*bob 88
或者,在您更改selectedSegmentIndex调用'sendActionsForControlEvents:'之后
segmentedControl.selectedSegmentIndex = 0
[segmentedControl sendActionsForControlEvents:UIControlEventValueChanged];
Run Code Online (Sandbox Code Playgroud)
Lac*_*che 87
所述selectedSegmentIndex属性标识一个UISegmentedControl的所选择的段.将此属性设置为任何有效的段索引,或者将UISegmentedControlNoSegment(-1)设置为关闭当前选择.
// select the first segment
segmented.selectedSegmentIndex = 0;
// turn off the current selection
segmented.selectedSegmentIndex = UISegmentedControlNoSegment;
Run Code Online (Sandbox Code Playgroud)
Lir*_*rik 24
@jmstone response,true,此操作不会为此控件调用valueChanged事件.
克服这个问题的一种方法是自己调用函数:
segmentedControl.selectedSegmentIndex = 3;
[self valueChangedMethod:segmentedControl];
Run Code Online (Sandbox Code Playgroud)
这会打电话:
- (void)valueChangedMethod:(UISegmentedControl *)segmentedControl
{
//continue your code here...
}
Run Code Online (Sandbox Code Playgroud)
Mat*_*aga 23
在Swift中:
segmentedControl.selectedSegmentIndex = 1
Run Code Online (Sandbox Code Playgroud)
斯威夫特2:
segmentedControl.sendActionsForControlEvents(UIControlEvents.ValueChanged)
Run Code Online (Sandbox Code Playgroud)
斯威夫特3:
segmentedControl.sendActions(for: UIControlEvents.valueChanged)
Run Code Online (Sandbox Code Playgroud)
编辑:正如 Yogesh Nikam Patil 让我注意到的那样,UIControlEvents 已从 UIControlEvents 重命名为 UIControl.Event。我已经相应地更新了我的代码。
@arcady bob 的回答对我有用。
我刚刚发布了SWIFT 5的更新版本:
yourSegmentedControl.selectedSegmentIndex = 0
yourSegmentedControl.sendActions(for: UIControl.Event.valueChanged)
Run Code Online (Sandbox Code Playgroud)
如果您只使用第一行,分段将相应地以图形方式作出反应,但不会调用与分段控件关联的 IBAction。简而言之:第二行就像点击分段控件。这就是我所需要的,也是我所缺少的。
归档时间: |
|
查看次数: |
31506 次 |
最近记录: |