先上代码
- (void)viewDidLoad {
[super viewDidLoad];
// Do any additional setup after loading the view.
UITextView * textView = [[UITextView alloc] init];
textView.frame = CGRectMake(100, 100, 200, 200);
textView.backgroundColor = [UIColor orangeColor];
[self.view addSubview:textView];
textView.textAlignment = NSTextAlignmentCenter;
textView.keyboardType = UIKeyboardTypeDefault;
textView.tag = 101;
}
-(void)touchesBegan:(NSSet<UITouch *> *)touches withEvent:(UIEvent *)event {
UITextView * textView = [self.view viewWithTag:101];
[textView resignFirstResponder];
}
在viewDidLoad里我创建了一个UITextView对象textView,想点击屏幕空白处时,将键盘收回。
textView没有定义为成员变量,属于临时创建
给他的tag赋一个值
可以在事件函数里,UITextView * textView = [self.view viewWithTag:101];这样写,那么事件函数里的新建对象就是原来的对象,可以取消它的第一响应事件,也就会收起键盘。
注意:例如UILable *lbl = [self viewWithTag:1]; 会先从self自身级别层查找,如果找不到才会去subview找。
所以tag定义要注意。