2012-11-15 31 views
0

我有兩個字段,fldPassword和fldUsername。有了這個代碼(並且視圖中的自我委託確實加載了),我希望返回鍵可以在兩個文本字段中消除。但是,它只是在第一次。我究竟做錯了什麼?在您的.h文件中只有一個文本字段是解散的ios返回鍵

- (BOOL)textFieldShouldReturn:(UITextField *)theTextField { 
     if (fldPassword == self->fldPassword) { 
      [fldPassword resignFirstResponder]; 
     } 
     if (fldUsername == self->fldUsername) { 
      [self->fldUsername resignFirstResponder]; 
     } 

     return YES; 
    } 
+0

請看我的回答。 – piam

+0

你甚至沒有使用'theTextField',你應該將它與fldPassword和/或fldUsername進行比較。如果你總是想解僱(我不推薦這個,打破流程)。然後放棄所有的邏輯,只需[theTextField resignFirstResponder];並返回YES。 – Daniel

+0

是的,你是對的,我會刪除我的然後 – piam

回答

1

你只解僱拳頭之一,試試這個

@interface YourViewController : UIViewController<UITextFieldDelegate> 

那麼它將兩個工作文本框。

希望這可以幫助你。

+0

謝謝,但這是完全一樣的我的代碼(這是行不通的) – user1803649

+0

不是,我是我的代碼我打電話resignFirstResponder在這兩個文本域 –

+0

想到它出。只要刪除其他和它的作品。 – user1803649

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

添加委託方法:

- (BOOL)textFieldShouldReturn:(UITextField *)theTextField { 
    if (fldPassword == self->fldPassword) { 
     [fldPassword resignFirstResponder]; 
    } else if (fldUsername == self->fldUsername) { 
     [self->fldUsername becomeFirstResponder]; 
    } 

    return YES; 
} 
相關問題