I have 2 functions to resignFirstResponder but neither of them works when the textfields are in scrollview
my functions:
-(BOOL)textFieldShouldReturn:(UITextField *)theTextField {
if (theTextField == textField1) {
[textField1 resignFirstResponder];
}
if (theTextField == textField2) {
[textField2 resignFirstResponder];
}
if (theTextField == textField3) {
[textField3 resignFirstResponder];
}
return YES;
}
- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event {
UITouch *touch = [[event allTouches] anyObject];
[textField1 resignFirstResponder];
[textField2 resignFirstResponder];
[textField3 resignFirstResponder];
}
I have linked the scroll view in IB, I can not find out why it does not works there only when I click outside of scrollview.so it only responds to view, but why?I thougth that [[event allTouches] anyObject]
respond to ALLtouches at ANYObjects
Thanks for help
Wouldn't it be a bit more elegant to add a transparent view that inherits
UIControl
with the size that equal to your scroll view to the very back of it and then just createIBAction
for this new view?You can also use a gesture recognizer to get the background tap. Use cancelsTouchesInView = NO to forward all other touches to the right receivers.