2012-10-09 47 views
0

我正在爲我的應用創建登錄名,並且我遇到了UITextField's響應者的問題。 我有2個字段,其中一個是電子郵件,另一個是密碼。第一個,有返回的「下一個」按鈕,第二個是「完成」按鈕。 問題是我正在開發該按鈕的邏輯。該textfieldShouldReturn方法是這樣的:uitextfield響應者的問題

- (BOOL)textFieldShouldReturn:(UITextField *)textField 
{  
    if ([emailField isFirstResponder]) { 
     NSLog(@"NEXT"); 
    } else if ([passwordField isFirstResponder]) { 
     [passwordField resignFirstResponder]; 
    } 
    return YES; 
} 

代碼有關字段:

CGRect frame = CGRectMake(20, 0, 280, 44); 

emailField = [[UITextField alloc] initWithFrame:frame]; 
[emailField setPlaceholder:@"Correo electronico"]; 
[emailField setKeyboardType:UIKeyboardTypeEmailAddress]; 
[emailField setReturnKeyType:UIReturnKeyNext]; 
[emailField setClearButtonMode:UITextFieldViewModeWhileEditing]; 
[emailField setContentVerticalAlignment:UIControlContentVerticalAlignmentCenter]; 
[emailField setAutocapitalizationType:UITextAutocapitalizationTypeNone]; 
[emailField setAutocorrectionType:UITextAutocorrectionTypeNo]; 
[emailField setDelegate:self]; 

passwordField = [[UITextField alloc] initWithFrame:frame]; 
[passwordField setPlaceholder:@"Contraseña"]; 
[passwordField setKeyboardType:UIKeyboardTypeDefault]; 
[passwordField setReturnKeyType:UIReturnKeyDone]; 
[passwordField setSecureTextEntry:YES]; 
[passwordField setClearButtonMode:UITextFieldViewModeWhileEditing]; 
[passwordField setContentVerticalAlignment:UIControlContentVerticalAlignmentCenter]; 
[passwordField setAutocapitalizationType:UITextAutocapitalizationTypeNone]; 
[passwordField setAutocorrectionType:UITextAutocorrectionTypeNo]; 
[passwordField setDelegate:self]; 

當我在emailField和按鍵旁邊,什麼也不會發生,但如果我在passwordField和按完成關鍵的應用程序工作正常,並隱藏鍵盤。

+0

只要你說,如果passwordField becomeFirstRespoder - passwordField resignFirstResponder :) –

+0

哦它對交配看到兩幀是相同的伴侶.. –

回答

0

這是我的代碼

- (BOOL)textFieldShouldReturn:(UITextField *)textField { 
    if (textField == fieldUsername) { 
     [fieldPassword becomeFirstResponder]; 
    } else if (textField == fieldPassword) { 
     [self doLogin]; 
    } 
    return YES; 
} 
+0

同...當我點擊emailField的按鈕時沒有任何反應。我已經用更多的代碼編輯了我的問題 – Juanjo

+0

我在界面生成器中選中了自動啓用返回鍵,它可以幫助 – NeverBe

+0

我沒有使用xib作爲這種情況,我使用代碼創建它們並將它們添加到表中: – Juanjo

0
- (BOOL)textFieldShouldReturn:(UITextField *)textField 
{  
     if (textField == emailField) { 
      NSLog(@"NEXT"); 
      [emailField resignFirstResponder]; 
      [passwordField becomeFirstResponder]; 
     } 
     else if (textField == passwordField) { 
      [passwordField resignFirstResponder]; 
     } 
    return YES; 
} 
+0

當我在電子郵件字段中,應用程序什麼也不做,它不會在第一個條件 – Juanjo

+0

進入哦,它的超級隊友看到兩個幀是相同的隊友.. –

+0

嗯,但我將字段添加到單元格中,我的意思是每個單元格的字段,所以框架是關於單元格的,並且它們不會自己打擾 – Juanjo

0
- (BOOL)textFieldShouldReturn:(UITextField *)textField 
{  
if ([emailField isFirstResponder]) { 
    NSLog(@"NEXT"); 
    [passwordField becomefirstresponder];///add this 
} else if ([passwordField isFirstResponder]) { 
    [passwordField resignFirstResponder]; 
} 
return YES; 
} 
+0

問題是當我在emailField中時它不會進入第一個條件:/ – Juanjo

相關問題