区分UIsegmentedontrol值是否来自用户或系统

时间:2012-06-18 07:51:41

标签: iphone objective-c ios

您好我有一个带有两个段的UISegmentedControl。在某些情况下以编程方式修改所选分段,在某些情况下由用户修改。我只想在更改是由用户操作引起时触发选择器(仅当用户实际按下分段控件时,而不是在系统执行segmentedControl.selectedSegmentIndex = ...时)。有什么想法吗?

2 个答案:

答案 0 :(得分:1)

如果你这样做

[self.segment setSelectedSegmentIndex:1];

这不会在分段上调用valueChanged的动作,那你的问题是什么?

答案 1 :(得分:1)

[segmentedControl addTarget:self action:@selector(segmentAction:) forControlEvents: UIControlEventValueChanged];


- (IBAction)segmentAction:(id)sender {
 // valuechanged connected function

        UISegmentedControl *segControll = (UISegmentedControl *)sender;

    if (segControll.tag == 0) {


       }
        else {

            isProgramaticallyChanged = NO; //important

        }



}