当触摸textView本身的任何地方时关闭键盘
答
我不是Objective-C的专家,但是对我有用的是将一个UITapGesterRecognizer
拖到Interface Builder中的视图中,然后在我的.h文件中创建IBOutlet,并在我的.m文件中创建IBAction。我使用的XCode 5和iOS 7 - 见下文:
.h文件中
@property (strong, nonatomic) IBOutlet UITapGestureRecognizer *dismissKeyboard;
.m文件
- (IBAction)dismissKeyboard:(UITapGestureRecognizer *)sender {
[self.view endEditing:YES];
}
的endEditing
:此代码的一部分驳回键盘。从苹果公司的documentation:
endEditing使视图(或嵌入文本字段中的一个),以 辞职第一响应状态。
至于攻丝“textView本身” - 我不知道如何做到这一点,并关闭键盘。出于好奇,你为什么要这样的功能?
答
在UIViewController子类的基本逻辑是
- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event
{
[self.view endEditing:YES];
}
您不需要创建属性。只需将Tap Gesture Recognizer拖动到您的视图中并链接到该操作即可。非常高雅的解决方案 – jomafer