如何以编程方式设置特定UITextField的返回键?

Tig*_*ell 42 iphone cocoa-touch objective-c ipad ios

我不敢相信这个问题还没有被提出,但我一直无法找到它,所以这是我的假设.

UITableViewCel使用Interface Builder 创建了自定义l子类.这些都包含a UILabel和a UITextField,用于我们的登录屏幕.

首先UITextField,我想要键盘键Next.然而,在第二个UITextField,我希望它说"完成".

如何以编程方式更改Return Key键盘上的值?我无法使用Interface Builder,因为这会使两个键显示为Done.

谢谢!

Leg*_*las 83

首先UITextField,阅读有关如何在键盘上创建按钮的THIS教程.您可以从那里学习逻辑并使用Next按钮而不是Done按钮.

   //if you just want to make it appear NEXT//

    textField.returnKeyType = UIReturnKeyNext;
Run Code Online (Sandbox Code Playgroud)

而对于第二UITextField,使用......

   // for DONE //

    textField.returnKeyType = UIReturnKeyDone;
Run Code Online (Sandbox Code Playgroud)

您通常可以创建按钮并将其重命名为任何内容,并确保IBAction在按下该按钮的事件上给出正确的权限.如果您确实创建了自己的自定义按钮,请查看上面的教程,了解如何将其放在正确的坐标和内容中.

  • @ user367817它位于其中一个协议中([`UITextInputTraits`](http://developer.apple.com/library/ios/#documentation/uikit/reference/UITextInputTraits_Protocol/Reference/UITextInputTraits.html#//apple_ref/occ/intf/UITextInputTraits))由`UITextField`采用. (3认同)

Qua*_*uan 5

您必须[textView reloadInputViews];在设置返回键类型后调用才能立即更新键盘返回键外观。

顺其自然:

textView.returnKeyType = UIReturnKeyDone; [textView reloadInputViews];

  • 令人难以置信的是,在其他答案中没有人提到“reloadInputViews”。 (2认同)