gpt4 book ai didi

iphone - 为什么 -[UIKeyInput hasText] 总是为 UITextField 返回 NO?

转载 作者:行者123 更新时间:2023-12-01 18:31:22 27 4
gpt4 key购买 nike

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

例如,以下测试失败:

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

最佳答案

UITextField 通过 UITextInput 协议(protocol)实现 UIKeyInput,其中规定:

UIKeyInput protocol—Implemented to acquire the capabilities of text entry and deletion at an insertion point.



(通过: http://developer.apple.com/library/IOs/#documentation/UIKit/Reference/UITextInput_Protocol/Reference/Reference.html)

正如 Mattias 上面所建议的,它更多地与后备存储有关,主要用于通过系统键盘进行输入。

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

关于iphone - 为什么 -[UIKeyInput hasText] 总是为 UITextField 返回 NO?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8465789/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com