2013-06-18 2 views
0

В моем классе у меня есть более 30 UITextField и один UIButton. Когда я нажимаю на uibutton, мне нужно отменить клавиатуру всего поля uitext, не давая resignfirstresponder всем 30 полям uitext.Больше, чем одна клавиатура UITextField на UIButton Нажмите в iOS

Мой код как этот

-(IBAction)click:(id)sender 
{ 
    [txt1 resignFirstResponder]; 
    [txt2 resignFirstResponder]; 
    [txt3 resignFirstResponder]; 
    [txt4 resignFirstResponder]; 
    . 
    . 
    . 
    [txt30 resignFirstResponder]; 
} 

мне нужен простой способ уйти UITextField клавиатуру

ответ

3
UITextField *currentTextField; 


- (void)textFieldDidBeginEditing:(UITextField *)textField 
{ 
     currentTextField = textField; 
} 

-(IBAction)click:(id)sender 
{ 
     [currentTextField resignFirstResponder]; 
} 
0

Тогда просто в методе ниже добавить

- (BOOL)textFieldShouldReturn:(UITextField *)textField 
{ 
     [textField resignFirstResponder]; 
     return YES; 
} 

или

в методе делегата

-(void)textFieldDidEndEditing:(UITextField *)textField 
{ 
    [textField resignFirstResponder]; 
} 
7

Каждый вид имеет endEditing свойство, попробуйте просто этот

[[self view] endEditing:YES]; 

и дайте мне знать, работает ли это для вас или нет ..

0
-(void)KeyboardHide 
{ 
    [txt1 resignFirstResponder]; 
    .... 
    .... 
    [txt30 resignFirstResponder]; 
} 


-(IBAction)click:(id)sender 
{ 
    [Self KeyboardHide]; 
} 
+2

Это именно то, что он не просил делать. Кроме того, нет такого ключевого слова «Я» с капиталом С. Плюс, обычно нет названия метода с большой буквы. Если бы я был вами, я бы удалил сообщение ... –

Смежные вопросы