2012-11-27 83 views
0

在我的每個單元格的uitableview中我有uitextfield當用戶編輯文本框,並按下屏幕上的任何其他按鈕後,鍵盤不辭職。我沒有在文本框代表下列UITexfield鍵盤辭職

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

    } 


-(BOOL)textFieldShouldReturn:(UITextField *)textField 
    { 
[textField resignFirstResponder]; 
textfieldInCell=nil;// this is the ivar i am using for each textfield in cell. 
return YES; 
} 

-(void)textFieldDidEndEditing:(UITextField *)textField 
    { 
    textfieldInCell=textField; 
    // do the process... 
    textfieldInCell=nil 

    } 

我也呼籲,一旦用戶敲擊任何其他按鈕,但鍵盤沒有辭去shouldReturn委託功能。任何人都可以請告訴我,我哪裏出錯了

+0

沒有u盤的委託你的TextField?像textfield.delegate = self;然後將文本字段添加到單元格。 – Nookaraju

+0

是的,我是這樣做的 –

回答

0

確認真的結束編輯: -

-(void)textFieldDidEndEditing:(UITextField *)textField 
{ 
    // add the following line 
    [textField resignFirstResponder]; 
    textfieldInCell=textField; 
    // do the process... 
    textfieldInCell=nil 

} 
+0

謝謝你只是添加了resignFirstResponder代碼,我已經設置代理添加單元格,現在它的作品 –

0

你有綁定你的控制器的文本字段的代表?或者您是否檢查了textFieldShouldReturn呼叫與否?

我想,你的情況下綁定缺少機智視圖控制器。

謝謝

0

在你的tableview中在你添加文本框的地方添加一行。

<YOUR_TEXTFIELD>.delegate = YES; 

喜歡編程

0
你給委託與否,並給予委託後 UITextField當你調用按鈕,當時的方法辭職這個文本框狀波紋管

首先檢查...

你綁定您使用視圖控制器創建並添加一行代碼在文本框每個文本框的委託
-(IBAction)yourButton_Clicked(id)sender{ 

    [yourTextField resignFirstResponder]; 
    ////your code write here 

} 
+0

這樣,你將如何跟蹤哪個文本字段正在被編輯,因爲每個單元格中都有一個文本字段。 –

+0

@ChiragBhutani在這裏辭去所有的文本字段,否則使用所有單元格的子視圖的消息循環,並在這只是寫代碼的視圖== [UITextField類]的辭職視圖隊友..對嗎? :) –

+0

no paras我所做的是我有一個ivite for uitextfield在TextfieldDidBegin分配和DidEndEditing的每個單元格中,我使它成爲零,併爲每個文本字段分配委託,同時將其添加到單元格中以這種方式跟蹤哪個textfield正在編輯 –

0

必須嘗試分配標籤值文本框,然後在應該返回方法,你使用的標籤隱藏鍵盤像這樣(如果指定標籤-1,則)

-(void)textFieldDidEndEditing:(UITextField *)textField{ 
    if(textField.tag==-1){ 
    [textField resignFirstResponder]; 
    } 

}