2012-03-01 56 views
2

我設計了一個帶有四個UITextField的窗體。第一個用於輸入數字,第二個用於輸入姓名,第三個用於選擇日期,最後一個用於選擇時間。使用數字鍵的第一個文本框,它將通過使用鍵盤上的完成按鈕來隱藏。如果用戶從第一個(數字文本框)進入第二個(名稱文本框)時,第一個鍵盤完全隱藏。如果用戶輸入名稱和選擇日期文本框顯示在工作表中的日期選擇器,當用戶選擇日期並點擊完成/取消按鈕時,我隱藏了操作表。但是,名稱文本框鍵盤不會從屏幕上消失。我有下面的代碼綁定,它不工作。任何人都可以請建議這個澄清的想法?提前致謝。UITextField ResignFirstRespond在iphone中不工作?

-(void)textFieldDidBeginEditing:(UITextField *)textField 
{ 
    if (textField == numberTextfield) 
    { 
     [textField setInputAccessoryView:keyboardToolbar]; 

    } 
    else if(textField == nameTextfield) 
    { 

    } 
    else if(textField == dateTextField) 
    { 
     [self showdateActionSheet]; 

     [nameTextfield resignFirstResponder]; 
     [dateTextField resignFirstResponder]; 
    } 
    else if(textField == timeTextField) 
    {   
     [timeTextField resignFirstResponder]; 
     [nameTextfield resignFirstResponder]; 
    } 
} 

- (BOOL) textFieldShouldReturn:(UITextField *)textField // If the user select Return key it is dismissing fine 
{ 
    [nameTextfield resignFirstResponder]; 

    return YES; 
} 

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

-(void) DateDone 
{ 
    [nameTextfield resignFirstResponder]; 
} 

-(void) timeDone 
{ 
    [nameTextfield resignFirstResponder]; 
} 

回答

3

Gopinath。請嘗試我的以下代碼,

- (BOOL)textFieldShouldBeginEditing:(UITextField *)textField 
{ 
    if (textField == dateTextField) 
    { 
     [nameTextfield resignFirstResponder]; 

     [self showdateActionSheet]; 

     [dateTextField resignFirstResponder]; 
    } 
    else if(textField == timeTextField) 
    { 
     [nameTextfield resignFirstResponder]; 
     [self ShowTime]; 
     [timeTextField resignFirstResponder]; 
    } 
    return YES; 
} 

我相信我會幫助你。

+0

亞感謝它是有益的一個。謝謝。 – Gopinath 2012-03-01 09:08:18

+0

@Yuvaraj,但你有更多的25 textfield現在我會放棄upvote,但認爲....我的問題 – 2012-03-01 11:31:45

+0

Mr.Nag_iPhone感謝upvote。雅你的問題是對的。我會研究你的問題讓你知道我的想法。謝謝。 – 2012-03-01 11:59:15