2009-11-10 66 views
1

我在应用程序中动态添加一个UITextField到表格单元格。我想实现一个“backgroundClick”方法来关闭键盘,如果用户在文本框之外(以及键盘之外)按下,但我不确定如何在backgroundClick方法中将活动键盘上的句柄作为动态UITextField没有定义的属性可供使用。iphone - 通过标记获取动态创建的UITextField

我所知道的是它是一个带有特定标签的UITextField。有没有办法在代码中保留它?

干杯。

+0

为了未来读者的利益,我使用了Benjamin提供的以下链接来解决问题。我设置了一个虚拟的UITextField,它绑定到我已动态添加到分组表中的UITextField。 然后我可以调用下面的代码来解除键盘在我的代码中的任何其他位置: [dummyField becomeFirstResponder]; [dummyField resignFirstResponder]; alan 2009-11-12 21:12:03

+0

谢谢Benjamin! – alan 2009-11-12 21:12:37

回答

4
UITextField* field = (UITextField *) [myTableCell viewWithTag: myTag]; 
[field resignFirstResponder]; 

这就是你正在寻找的?

编辑反映点评:

基于您的评论,事实并非如此。所以,你可能想读this other SO question

+0

它很接近,问题是我没有处理表格单元。我根据参数动态填充单元格。到其中一个单元格中,我添加了一个uitextfield字段,但是我希望能够通过在单元格外部和键盘外单击(基本上使用大型的不可见按钮)来解除它。我遇到的问题是按钮按下事件没有关于单元格或文本框的信息。我开始认为这也许是不可能的。 – alan 2009-11-11 21:31:39

+0

看到我上面的编辑... – 2009-11-12 03:50:08

+0

谢谢,正是我之后。 – alan 2009-11-12 12:04:14

1

如果你有一个UITextField的引用,那么你可以发送resignFirstResponder。这将关闭键盘。