2012-11-12 51 views
0

當在某個CA層上輕擊時,我已經動態創建了兩個UITextField。我將第一個textfield作爲第一個響應者,我想要的是,當我在第一個Textfield中輸入文本並按完成時,我希望第二個文本字段成爲第一個響應者。 ñ那就是我在textFieldShouldReturn中爲此做了什麼。在第一個UITextField完成編輯並按完成後創建第二個UITextField firstresponder

-(BOOL)textFieldShouldReturn:(UITextField *)textField 
{ 
    if (titleField.returnKeyType== UIReturnKeyDone) { 

     NSString *title = [textField.text stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceAndNewlineCharacterSet]]; 
     if (title.length>0) 
     { 
      [self changeLayersTitle:title]; 
     } 

     [dateField becomeFirstResponder]; 

    if (dateField.returnKeyType==UIReturnKeyDone) 
    { 
     NSString *date = [dateField.text stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceAndNewlineCharacterSet]]; 
     if (date.length>0) 
     { 
      [self changeLayersDate:date]; 
     } 
    } 

     [dateField resignFirstResponder]; 
     [bgLayer removeFromSuperlayer]; 
     [titleField removeFromSuperview]; 
     [dateField removeFromSuperview]; 


    } 
    return NO; 
} 

現在,當我進入第一個entring文字後按完成,它駁回了兩個文本框的,BT顯示我的鍵盤。 那麼,我錯過了什麼或者錯了什麼,或者我必須把它放在別的什麼地方。請幫助我。

+0

我不明白你問的最後一部分是什麼意思! –

+0

當我點擊一個圖層時,它會創建兩個文本框。第一個文本字段被設置爲第一響應者,並且當我在第一個文本字段中輸入文本並按下完成時,它將從視圖中刪除兩個文本字段n僅向我顯示鍵盤,而不是在兩個文本都輸入後刪除文本字段的字段,但是在第一個字段中輸入文本之後按下完成後,它的開始權限不允許我在第二個字段中輸入文本。 – iOmi

回答

2

我不確定你爲什麼要比較文本字段的returnKeyType屬性。您應該比較文本字段是否相等,如果在第一個文本字段上按下了返回鍵,則將第二個文本字段設置爲新的響應者。

- (BOOL)textFieldShouldReturn:(UITextField *)textField 
{ 
    if (textField == titleField) { 
     [dateField becomeFirstResponder]; 
    } 
    else if (textField == dateField) { 
     // Return button pressed on 2nd field. Do something 
    } 
    return YES; 
} 
+0

+1以上.. !!! – Kamarshad

+0

我這樣做了,但結果仍然是一樣的。 告訴我還有什麼,我做錯了。 – iOmi

+0

立即工作。非常感謝 :) – iOmi

0

在你完成的按鈕回調方法中,你不能只將第二個文本字段設置爲第一響應者嗎?

您不需要在第一個文本字段中放棄第一個響應者。

+0

是的,我也試過這個,它有幫助。謝謝 – iOmi

相關問題