Рассчитать UIButton Pressed Duration - PullRequest
0 голосов
/ 12 июля 2011

На основе длительности нажатой кнопки UIB та же кнопка должна выполнять различные задачи.

Как рассчитать продолжительность нажатой кнопки UIB?

Ответы [ 2 ]

1 голос
/ 12 июля 2011

Прикрепите UILongPressGestureRecognizer к вашей кнопке и установите свойство minimumPressDuration.Вы можете прикрепить несколько распознавателей жестов к одной и той же кнопке для различной минимальной продолжительности нажатия.

Если у вас есть «конфликты» между разными распознавателями жестов, вы можете установить их с помощью –requireGestureRecognizerToFail:, чтобы указать, что жест будет распознаваться толькоесли другого нет.

Посмотрите на соответствующий документ .

0 голосов
/ 12 июля 2011

Мы можем установить для вашей кнопки 2 действия и измерить время, которое проходит между этими двумя методами:

UIButton *btn = [UIButton buttonWithType:UIButtonTypeRoundedRect];
btn.frame = CGRectMake(100.0, 100.0, 100.0, 20.0);
[btn setTitle:@"Test" forState:UIControlStateNormal];
[btn addTarget:self action:@selector(userEndsTap:) forControlEvents:UIControlEventTouchUpInside];
[btn addTarget:self action:@selector(userStartsTap:) forControlEvents:UIControlEventTouchDown];

, а в двух вызванных методах вы можете выполнить измерение продолжительности:

- (void)userEndsTap:(id)sender {
   NSLog(@"user ends tap");
   // stop measurement an do something different for different durations
}

- (void)userStartsTap:(id)sender {
   NSLog(@"user starts tap");
   // start measurement
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...