将 App 委托设置为第一响应者
Posted
技术标签:
【中文标题】将 App 委托设置为第一响应者【英文标题】:Set App delegate as first responder 【发布时间】:2011-11-11 20:52:11 【问题描述】:我正在尝试实现在整个应用程序中都有效的抖动识别。为此,我将以下代码添加到我的 xxxAppDelegate.m:
-(BOOL)canBecomeFirstResponder
return YES;
- (void)motionBegan:(UIEventSubtype)motion withEvent:(UIEvent *)event
if (event.type == UIEventSubtypeMotionShake)
NSLog(@"Shaken, not stirred.");
但是因为在 .h 文件中,委托被定义为
@interface xxxAppDelegate : NSObject <UIApplicationDelegate, UITabBarControllerDelegate>
我无法使用
[self becomeFirstResponder];
在 .m 中使应用程序成为第一响应者。因此,它当然行不通。 让它发挥作用的最佳方法是什么?
【问题讨论】:
【参考方案1】:如果您将应用委托更改为 UIResponder
的子类会怎样?
编辑
您可以在文档中阅读有关响应者链 here 的信息。
【讨论】:
以上是关于将 App 委托设置为第一响应者的主要内容,如果未能解决你的问题,请参考以下文章
如何正确地将 UITextField 设为第一响应者? (尝试了3种方法)
我希望 UITableViewCell 中的 UItextField 仅在单元格触摸时成为第一响应者
将 UITextView 作为第一响应者后,表格视图单元格不可选择