2012-04-02 4 views
0

Вопрос у меня есть, если можно создать элемент управления, похожий на UIButton, но может иметь кран и длинный жест нажатия связаны друг с другом? Причина, по которой я спрашиваю, заключается в том, что я хотел бы подражать функциональности приложения на главном экране (коснитесь, чтобы открыть приложение, удерживать его, чтобы переместить его или удалить). Я хотел бы создать кнопку или использовать UIButton, если возможно функциональность, которая может либо выполнить простой расчет при нажатии, но если кнопка удерживается, появится всплывающее окно, в котором пользователь может изменить результат, будет выводиться ,Можно ли связать элемент управления с несколькими жестов в iOS?

Любые советы приветствуются в этом вопросе.

ответ

1

Если вы понимаете, что правильно, вам нужно добавить несколько идентификаторов распознавания жестов в UIButton?

Вспоминая, что UIButton наследуется от UIView вы можете добавить множество жестов к нему с помощью:

- (void)addGestureRecognizer:(UIGestureRecognizer *)gestureRecognizer 

Все жесты будут храниться в:

@property(nonatomic,copy) NSArray *gestureRecognizers 

Таким образом, вы можете добавить UILongPressGestureRecognizer, а также другие типы жестов.

Но возможность сделать разницу между одним нажатием и длительным нажатием краном - добавить стандартную цель UIButton с событием управления: UIControlEventTouchUpInside

+0

Так что в этом случае мне не нужен кран жест? Я просто хочу быть уверенным, потому что я думал, что просто добавление цели в UIControlEventTouchUpInside также позволит ему срабатывать после того, как будет гореть длинный жест. – Seb

+0

Да, вам не нужен отдельный жест жеребца, потому что он будет вызываться, когда вы нажимаете внутрь, но не касаетесь его внутрь (хотя в этом случае вы можете фильтровать касания с помощью UITouchPhase). Так что это зависит от вас. – SVGreg

+0

Это сработало для меня. Спасибо. – Seb