@Votetoda

Как определить нажатие кнопки?

Здравствуйте!возможно вопрос покажется глупым,нелепым- но я обращаюсь суда так как не нашел на него ответа.Я встречал несколько языков в которых этот метод прекрасно работает,а тут такого не нашлось.Необходимо определять какая кнопка была нажата то есть if (button.click){bla bla bla} вот с помощью такого не большего кода можно было определять это действие,не подскажите с помощью чего в objective c было реализовано подобное действие?
  • Вопрос задан
  • 3561 просмотр
Решения вопроса 1
ManWithBear
@ManWithBear
Swift Adept, Prague
UIButton *button = [UIButton buttonWithType:UIButtonTypeSystem];
[button addTarget:self  action:@selector(myLovelyFunction:) forControlEvents:UIControlEventTouchUpInside];
[button setTitle:@"Touch me, baby!" forState:UIControlStateNormal];
button.frame = CGRectMake(80.0, 210.0, 160.0, 40.0);
[view addSubview:button];

В свою очередь вызываемая функция выглядит примерно так:
- (void)myLovelyFunction:(id)sender {
    // do something
}


UPD. Если же много много кнопок вызывают одну и туже функцию, но по разному, то можно делать ещё вот так:
при создании кнопки:
[button setTag:91];
А в функции
- (void)myLovelyFunction:(id)sender {
   UIButton *button = (UIButton*)sender;
   if (button.tag == 91) {
      // super
   } else {
      // good too
    }
}
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы