为什么 - [UIKeyInput hasText]总是为UITextField返回NO? 这是UIKit的错误吗?

例如,以下测试失败:

UITextField *textField = [[UITextField alloc] initWithFrame:CGRectZero];
textField.text = @"has text";
STAssertTrue([textField hasText], @"any text is text.");

===============>>#1 票数:4 已采纳

UITextField通过UITextInput协议实现UIKeyInput,该协议指出:

UIKeyInput protocol-已实现以获取插入点处文本输入和删除的功能。

(来自: http//developer.apple.com/library/IOs/#documentation/UIKit/Reference/UITextInput_Protocol/Reference/Reference.html

正如Mattias上面提到的,它与后备存储有很大关系,主要用于通过系统键盘输入。

在您的示例中,您正在直接操作属性并通过键盘绕过输入。 通过给出第一响应者字段,将显示键盘并且hasText将按预期返回YES。

  ask by ma11hew28 translate from so

未解决问题?本站智能推荐:

关注微信公众号