Вы можете сделать "взлом" ... Вот так:
- (void)textFieldDidBeginEditing:(UITextField *)textField{
//glass is a class's property
if(glass){
self.glass=nil;
}
glass=[[UIButton alloc] initWithFrame:CGRectMake(0, 0, 320, 480)]; //put the size you want.
[glass addTarget:self action:@selector(hideGlass) forControlEvents:UIControlEventTouchUpInside];
[self.view insertSubview:glass belowSubview:textField];
}
-(void)hideGlass{
//remove your glass.
[glass removeFromSuperview];
//your textField resigns first responder.
if([myTextField canResignFirstResponder]){
[myTextField resignFirstResponder];
}
}
Итак, в основном, вы должны добавить фиктивную кнопку прямо под вашим textField. Поэтому, когда вы касаетесь чего-либо еще, за исключением вашего textField, он сделает ваш textField resignFirstResponder и удаляет себя из представления.
Редактировать 1 (твик) Вам просто нужно заменить это:
if(glass){
self.glass=nil;
}
для этого:
if(glass){
[glass release];
glass=nil;
}