Не говоря уже о том, что это хороший дизайн (я согласен с комментаторами, которые говорят, что нажатие на отключенную кнопку не должно ничего делать), но вы можете прикрепить UITapGestureRecognizer к родительскому представлению, и когда появится жест, установите проверьте, находится ли касание в пределах отключенного просмотра.
Нажатие на отключенную кнопку вызовет UITapGestureRecognizer, который прикреплен к суперпредставлению кнопки.
UITapGestureRecognizer *tapRecognizer = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(viewTapped:)];
[self.view addGestureRecognizer:tapRecognizer];
, а затем в viewTapped
- (void)viewTapped:(id)sender {
UITapGestureRecognizer *recognizer = (UITapGestureRecognizer *)sender;
CGPoint pt = [recognizer locationOfTouch:0 inView:self.testButton];
if (CGRectContainsPoint(self.testButton.bounds, pt)) {
NSLog(@"Disabled button tapped");
}
}