iphone-Идентифицирующий контейнер кнопки
У меня есть такой класс,
@interface event
{
NSString *name;
UIButton *button;
}
В моем контроллере представления у меня есть несколько объектов класса событий, и я добавил все кнопки этих объектов событий в класс контроллеров представления (self.view)
-(void) buttonPressed:(id) sender
Теперь я обрабатываю touchevent в моем контроллере представления, как указано выше, теперь как я могу определить объект события, к которому принадлежит нажатая кнопка (отправитель).
2 ответа
Вы можете просто сравнить свойство кнопки объекта события с параметром отправителя вашего метода действия. Предполагая, что ваши объекты событий являются просто переменными-членами вашего контроллера представления, ваш код buttonPressed может выглядеть примерно так:
- (void)buttonPressed:(id)sender {
if (sender == event1.button) {
NSLog(@"Button pressed for event1");
}
else if (sender == event2.button) {
NSLog(@"Button pressed for event2");
}
}
Очевидно, вам придется объявить кнопку как @property вашего объекта Event.
Вы должны добавить тег к вашим объектам, как:
myObject.tag = 1;
Затем в вашем методе buttonPressed сделайте что-то вроде
if(sender.tag == 1){
//...doSomething
}