/ / за допомогою touch.tapCount для визначення довгого натискання кнопки - ios, aim-c, uibutton, long-press

використовуючи touch.tapCount для визначення довгого натискання кнопки - ios, objective-c, uibutton, long press

Те, що я роблю, працює як на тренажері, так і на моєму iPad2, я не маю проблем із цим, але це не документально підтверджений спосіб робити речі, тому я переживаю, що він може не працювати на нових iPad.

У мене є кнопки UIB, де я розрізняю дотик і довгий натиск.

Кнопки побудовані як завжди, з ціллю та дією, без жестів.

- (IBAction)buttonAction:(id)sender forEvent:(UIEvent*)event
{
UIButton *button=(UIButton *)sender;

bool longpress=NO;
UITouch *touch=[[[event allTouches] allObjects] objectAtIndex:0];
if(touch.tapCount==0) longpress=YES;

switch(button.tag)
{
case TAG:
{
if(longpress)
{
... do longpress thing
}
else
{
... do regular touch thing
}
break;
}
...
}
}

Відповіді:

0 для відповіді № 1

Чому ти не твориш UILongPressGestureRecognizer і додайте його до кнопки. Це кращий спосіб визнати такі дії.