2012-03-14 69 views
1

在我的应用程序中,用户可以输入其名称。UITextField becomeFirstResponder只能使用一次

将UITextField添加到视图并成为FirstFoundResponder被调用。 在textFieldShouldReturn方法中,调用resignFirstResponder。 然后在textFieldShouldEndEditing中,将UITextField从视图中删除。

这一切工作正常,但问题是,当用户试图第二次输入他们的名字,UITextField显示,但键盘没有。

我已经尝试过很多事情,比如四处移动成为/ resign firstresponder或者保留/不保留textfield,但我似乎无法让它工作。 任何想法? 谢谢

+1

也许只是隐藏文本字段,而不是从视图中删除它? – Greg 2012-03-14 23:38:04

+1

你为什么要删除文本框?请显示一些代码并描述您的视图结构。 – calimarkus 2012-03-14 23:42:30

+0

@ user1270338放你的代码为了我们可以理解,你在做什么错了? – 2012-03-15 04:08:44

回答

0

如果您有一个属性设置为该UITextField,请务必将它从视图中删除后设置为零。

0

尝试在textFieldDidEndEditing中进行工作,并且当您第二次点击文本字段时,控件应该放在textFieldShouldBeginEditing中,尝试使用断点检查它,它不会去那么问题是您的文本字段没有任何内存分配,如果它在这个函数中设置这个文本字段作为第一响应者。

+0

或者你可以做更多的事情不要辞职..应该结束编辑,然后在其他一些回调函数中退出。它会为你工作。 – yug 2013-12-12 11:37:46