UIButton не отвечает на touchUpInside, но отвечает на штрафа touchDown

В моей программе UIButton объявлен программно как свойство UIVIewController, Я настроил его для отправки действий, когда пользователь запускает touchUpInside событие, как показано здесь:

[restartButton addTarget:self action:@selector(handleRestart) forControlEvents:UIControlEventTouchUpInside];где restartButton это имя UIButton,

Когда я вхожу UIControlEventTouchDown в forControlEvents Параметр работает нормально. Тем не мение, UIControlEventTouchUpInside просто не работает. Кто-нибудь знает, почему это?

2 ответа

Решение

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

[restartButton.layer setBorderWidth:1.0f];
[restartButton.layer setBorderColor:[UIColor redColor].CGColor];

Не забудь #import <QuartzCore/QuartzCore.h> для работы выше

Закажите этот вопрос и ответ: /questions/21820602/sobyitie-uibutton-touch-up-inside-ne-rabotaet-touch-down-rabotaet-otlichno/21820619#21820619. В родительском представлении был UITapGestureReconizer, который перехватывал событие TouchUpInside, но разрешал касание даже во время выполнения.

Другие вопросы по тегам