2010-08-23 20 views
5

所以,我有一個UISegmentedControl:UISegmentedControl在UIControlEventValueChanged上返回其操作是什麼?

[control addTarget:self action:@selector(myAction) forControlEvents:UIControlEventValueChanged];

只是想知道我怎麼會發現段已選擇了什麼(所以我可以做相應的動作)。我知道它是這樣的:

@selector(myAction:)但發送什麼?即:當我定義我的方法時,我必須定義什麼?

謝謝。

回答

10

獲得所選擇的項目......問題的第二部分

-(IBAction) myAction:(id)sender{ 
    NSLog(@"myAction",nil); 

    UISegmentedControl * control = sender; 
    int selectedIndex = [control selectedSegmentIndex]; 
} 
+0

啊輝煌......我的問題是,我試圖:'int selectedIndex = [sender selectedSegmentIndex];'而不是將它添加到對象。 :)輝煌,非常感謝你。 – 2010-08-24 08:12:47

2
- (IBAction)myAction:(id)selector; 

selector是一個UISegmentedControl對象。因此,如果您將一個操作綁定到兩個UISegmentedControl,您可能會有所不同。

+0

正確的輝煌,所以 - 對不起要厚公頃,但如何決定哪些選擇了特定的部分(特別是因爲我有瞬間:是)?謝謝 – 2010-08-23 16:04:43

2

還有更簡單的方法:

-(IBAction) myAction:(UISegmentedControl*)control { 
    NSLog(@"selected index %d", control.selectedSegmentIndex); 
}