Добрый вечер всем!
У меня динамически добавляются некоторые UIB-кнопки в мое представление и, конечно, у меня есть IBAction, который обрабатывает события кнопок.
Проблема в следующем: как определить, какая кнопка нажата, если я знаю только отправителя (id) и массив кнопок?
Кнопки никогда не бывают одинаковыми, каждая кнопка имеет свое поведение.Когда я хочу использовать статические кнопки и подключить их через IB, я использую что-то вроде этого:
-(IBAction)doSomething:(id)sender
{
if(sender == button1)
dosomething;
if(sender == button2)
dosomething else;
if(sender == button3)
dosomething3;
}
В моем случае это не работает, потому что нету button1, button2, button3, но есть MutableArray из кнопок, которыеимеют то же имя, что и им.Кнопка!
Я пытался использовать способ, описанный выше, но безуспешно, и я также пытался получить тег кнопки, но мне не с чем сравнить!
Буду очень признателен за вашу помощь.
искренне
L_Sonic PS Динамически означает, что я создаю кнопки в произвольное время во время выполнения, как это
-(void)configActionSheetView
{
buttonView = [[UIView alloc]initWithFrame:CGRectMake(0.0,460, 60, 480)];
[buttonView setBackgroundColor:[UIColor blackColor]];
[buttonView setAlpha:0.6];
for (int i = 0 ;i<[buffButtons count];i++)
{
UIButton *customButton = [buffButtons objectAtIndex:i];
customButton = [UIButton buttonWithType:UIButtonTypeRoundedRect];
//UILabel *customLabel = [[UILabel alloc]init];
//[customButton setTag:(i)+11];
[customButton addTarget:self action:@selector(activateBuffEffect:) forControlEvents:UIControlEventTouchUpInside];
[customButton setAlpha:1.0];
customButton.frame = CGRectMake(8.0, 5+(50*i), 44.0, 44.0);
[customButton setTitle:nil forState:UIControlStateNormal];
buttonView.frame = CGRectMake(0, 460, 60, 50+(44*(i+1)));
[buttonView addSubview:customButton];
}
}
это внутри функций и вызывается во время выполнения.buffButtons - это mutableArray с кнопками, которые заполняются во время выполнения.мне нужно решение, подобное этому, я не могу получить другой метод обработки событий для каждой кнопки.