Перетащите кнопку с сенсорным движением - PullRequest
0 голосов
/ 22 февраля 2012

Я работаю над пользовательским контроллером. Я хочу создать слайдер, чтобы выбрать один из нескольких вариантов. Проблема в том, что когда я касаюсь нужной кнопки, она не вызывает мой метод touchesBegan. Но если я нажимаю в любой другой части моего взгляда, это работает. Как я могу заставить свою кнопку двигаться?

Спасибо.

Ответы [ 3 ]

2 голосов
/ 22 февраля 2012

UIButton захватывает сенсорные события.если вы попробуете это

myButton.userInteractionEnabled = NO;

, тогда он больше не будет использовать события касания, но он также больше не будет запускать событие onTouchUpInside.В этом случае вы обрабатываете все касания в супер-виде и соответственно позиционируете ползунок.

Это должно просто перетащить.Это будет работать для любого UIView.

0 голосов
/ 22 февраля 2012

Почему бы вам не создать пользовательский UIView и не использовать класс UIButton? Проще подкласс UIButto или установить

myButton.userInteractionEnabled = NO;
0 голосов
/ 22 февраля 2012

touchsBegan не будет работать на UIButton .. для того, чтобы это работало, вам нужно будет создать подкласс UIButton и реализовать touchesBegan

. Для получения дополнительной информации см. Этот ответ https://stackoverflow.com/a/4863734/919545

...