大家好,又见面了,我是你们的朋友全栈君。
eg:写一个category类目 UIScrollView Event
– (void)touchesBegan:(NSSet<UITouch *> *)touches withEvent:(UIEvent *)event
{
[super touchesBegan:touches withEvent:event];
[[[self nextResponder] nextResponder] touchesBegan:touches withEvent:event];
}
应用场景:
操作:点击ScrollView上的textFiledView -> 再点击ScrollView上的button
希望能够收起键盘(项目中有无数个这样的操作)
材料:BaseViewController(这是所有ViewController的基类)
1.在BaseViewController写入
-(void)touchesBegan:(NSSet<UITouch *> *)touches withEvent:(UIEvent *)event{
//分别取消第一响应者
[[[UIApplication sharedApplication] keyWindow] endEditing:YES];
}
注:点击添加在self.view上的控件已经可以响应了,但是ScrollView上的控件不会响应。
2.写一个category类目 UIScrollView Event.h
– (void)touchesBegan:(NSSet<UITouch *> *)touches withEvent:(UIEvent *)event
{
[super touchesBegan:touches withEvent:event];
[[[self nextResponder] nextResponder] touchesBegan:touches withEvent:event];
}
注:点击ScrollView上的textFiledView已经可以响应了,但是ScrollView上的button还是不能响应
3. 写一个category类目 UIButton Event.h
– (void)touchesBegan:(NSSet<UITouch *> *)touches withEvent:(UIEvent *)event
{
[super touchesBegan:touches withEvent:event];
[[[self nextResponder] nextResponder] touchesBegan:touches withEvent:event];
}
到此完美解决。
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/164162.html原文链接:https://javaforall.cn