Ama*_*der 3 cocoa-touch objective-c uisegmentedcontrol ios
我的xib文件中有一个UISegmentedControl.它链接到xib文件中值更改事件的操作方法.
当我以编程方式设置selectedSegmentIndex的值时,将调用action方法
mysegmentedcontrol.selectedSegmentIndex = index
Run Code Online (Sandbox Code Playgroud)
我期待只有当用户通过触摸来更改控件时才会调用操作方法?
这仅适用于UISegmentedControl.
.h文件
BOOL isProgramaticallyChanged;
Run Code Online (Sandbox Code Playgroud)
.m文件
- (IBAction)segmentAction:(id)sender { // valuechanged connected function
UISegmentedControl *segControll = (UISegmentedControl *)sender;
if (segControll.tag == 55) { // while create segment specify tag value to 55 (to set use via IB or Code)
if (isProgramaticallyChanged == NO) {
// your valuechanged code here
}
else {
isProgramaticallyChanged = NO; //important
}
}
else if (segControll.tag == 66) { // for many segments
}
//...like this do for all segments
}
Run Code Online (Sandbox Code Playgroud)
在.m文件中
无论你把这个代码以编程方式进行更改,都要在此之前做到这一点
if (mysegmentedcontrol.selectedSegmentIndex != index) {
isProgramaticallyChanged = YES;
mysegmentedcontrol.selectedSegmentIndex = index;
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
12768 次 |
| 最近记录: |