2012-11-27 54 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]; 
    } 

}