2011-11-25 54 views

回答

2

將每個分段控件的tag屬性設置爲不同的整數。然後,在您的方法中,您將該值設置爲值更改時的操作,請使用[sender tag]檢查tag屬性設置爲的整數。

1

分配兩個不同的動作這些分段控制:

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

有兩種方法可以做到這一點。

  1. 添加不同的動作,每段控制
  2. 添加相同的動作,每段控制&檢查其控制使用其標籤被竊聽。

    [yourSegmentedControl addTarget:self action:@selector(segmentSwitch:) forControlEvents:UIControlEventValueChanged]; 
    


    - (IBAction)segmentSwitch:(id)sender 
    { 
        UISegmentedControl *segmentedControl = (UISegmentedControl *) sender; 
    
        if(segmentedControl.tag == someTag) 
        { 
         if(segmentedControl.selectedSegmentIndex == 1) 
         { 
          // your code 
         } 
         else if(segmentedControl.selectedSegmentIndex == 2) 
         { 
          // your code 
         } 
        } 
        else if(segmentedControl.tag == someTag) 
        { 
         if(segmentedControl.selectedSegmentIndex == 1) 
         { 
          // your code 
         } 
         else if(segmentedControl.selectedSegmentIndex == 2) 
         { 
          // your code 
         } 
        } 
    } 
    
2

可以使用段的選擇模式:

UISegmentedControl *tempSegment = sender; 
if ([tempSegment selectedSegmentIndex] == 0){ 
    //first Action 
} 
else if ([tempSegment selectedSegmentIndex] == 1){ 
    //second Action 

} 
-1

斯威夫特版本:

@IBAction func yourFunctionName(sender: UISegmentedControl) { 

     if (sender.selectedSegmentIndex == 0){//choice 1 

     }else{//choice 2 

    } 
} 
相關問題