Цепочка респондентов классная.
В частности, возможность отправлять персонализированные действия первому ответчику, который будет пузыриться до любого, кого это может заинтересовать: [[UIApplication sharedApplication] sendAction: @selector(commandToSend) to: nil from: self forEvent: nil]
.
Или меньше пользовательских действий с помощью:
[[UIApplication sharedApplication] sendAction: @selector(resignFirstResponder) to: nil from: self forEvent: nil]
Я хотел бы знать - есть ли способ проверить перед рукой, если конкретное действие от конкретного отправителя будет обрабатываться , если оно было отправлено сейчас? Очевидным преимуществом для этого было бы включение и отключение кнопок, отправляющих действия, зависящие от того, будет ли это действие обрабатываться в данный момент.
Если вам известен первый ответчик, я думаю, что вы можете сделать [aResponder targetForAction: @selector(methodYouWantToSend) withSender: selfOrSomethingElse]
и проверить, равен ли ответу или нет. Но, похоже, не существует эквивалентного метода для UIApplication
sendAction:…
, который будет автоматически запускаться с первого ответчика и работать вверх.