【问题标题】:UITextInput: How Do I Show the Caret for a Custom UIView That Implements the UITextInput Protocol?UITextInput:如何为实现 UITextInput 协议的自定义 UIView 显示插入符号?
【发布时间】:2014-07-06 13:38:33
【问题描述】:

我注意到在 Apple 的 UITextInput 协议中有一个名为 (CGRect)caretRectForPosition:(UITextPosition *)position 的必需方法,如您所见,它返回一个 CGRect。当我在方法中放置断点时,即使我调用 setSelectedTextRange: 方法,该方法似乎也不会被调用。我是否必须在文本视图中实现自己的插入符号对象?我认为协议会自动处理这个问题,只需将插入符号添加到文本视图中,并使用由caretRectForTextPosition: 返回的CGRect 指定的框架。我将如何在实现 UITextInput 协议的 UIView 类中显示/添加插入符号?

编辑

我已经阅读了所有文档,但没有任何结果,甚至搜索了其他人的示例实现。我最终只是自己实现了插入符号。这是正确/建议的方法吗?

【问题讨论】:

  • 官方文档怎么说?
  • 这是我的问题。我已经上下阅读了所有文档,但没有任何结果,甚至搜索了其他人的示例实现。我最终自己实现了插入符号。
  • 这些详细信息应包含在您的问题中。
  • 适当地注意到@nhgrif 我为我的问题添加了一个编辑更新。有什么方法可以让这个帖子获得更多的观点?我仍在寻找比我自己的业余猜测和直觉更具体的解决方案/答案

标签: objective-c protocols caret uitextinput


【解决方案1】:

是的,您必须自己实现插入符号。请参阅 Apple 的 SimpleTextInput 示例。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-09-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-11-07
    • 1970-01-01
    相关资源
    最近更新 更多