Что UISegmentedControl возвращает к своему действию на UIControlEventValueChanged? - PullRequest
5 голосов
/ 23 августа 2010

Итак, у меня есть UISegmentedControl с:

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

Просто интересно, как мне узнать, какой сегмент был выбран (чтобы я мог сделать соответствующее действие) Я знаю, что-то вроде:

@selector(myAction:) но что отправляется? то есть: когда я определяю свой метод, что я должен определить?

Спасибо.

Ответы [ 3 ]

10 голосов
/ 23 августа 2010

получить выбранный предмет ... вторая часть вопроса

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

    UISegmentedControl * control = sender;
    int selectedIndex = [control selectedSegmentIndex];
}
2 голосов
/ 19 марта 2013

Есть и более простой способ:

-(IBAction) myAction:(UISegmentedControl*)control {
   NSLog(@"selected index %d", control.selectedSegmentIndex);
}
2 голосов
/ 23 августа 2010
- (IBAction)myAction:(id)selector;

селектор является объектом UISegmentedControl. Таким образом, вы можете различать два UISegmentedControl, если вы связываете одно действие с обоими.

...