2012-03-05 4 views
2

Если UIButton отключен [myButton setEnabled:NO];, то возможно использовать сенсорный прослушиватель, который все еще работает?iOS прикоснитесь к внутренней части на отключенной кнопке

Я попытался:

[self addTarget:self action:@selector(myButtonTUI:) forControlEvents:UIControlStateDisabled]; 

, но безрезультатно.

ответ

4

Ответ на ваш вопрос не является Нет

enabled 
A Boolean value that determines whether the receiver is enabled. 

@property(nonatomic, getter=isEnabled) BOOL enabled 
Discussion 
Specify YES to make the control enabled; otherwise, specify NO to make it disabled. 
The default value is YES. If the enabled state is NO, the control ignores touch 
events and subclasses may draw differently. 

Вы можете имитировать такую ​​функциональность? Да.

Вместо того, чтобы отключать кнопку, выполните проверку, чтобы увидеть, должна ли функция срабатывать в селекторе действий кнопок. Вы даже можете изменить изображение, чтобы он выглядел отключенным. Таким образом, кнопка все еще принимает события касания, и вы можете запустить требуемую функциональность, если будут выполнены правильные условия.

+0

Там должно быть лучшее решение, чем это. Разве мы не можем просто прикрепить к кнопке другой распознаватель жестов? – devios1

+0

Для записи я достиг этого, разместив кнопку внутри 'UIView' и прикрепляя распознаватель жестов к' UIView'. По какой-то причине это не сработало при прикреплении его непосредственно к кнопке. – devios1

+0

У вас будут проблемы с доступом к этой дороге. – rshev

1

Это может быть достигнуто путем оборачивания UIButton в UIView того же размера и крепления крана жест распознаватель для родительского вида:

UITapGestureRecognizer* gesture = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(myButtonHit)]; 
[self.myButtonView addGestureRecognizer:gesture]; 

По какой-то причине это не похоже на работу при прикреплении распознаватель жестов к самому UIButton, что было бы самым приятным решением.

Смежные вопросы