首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用UITextView的子类和自定义屏幕键盘,调用textField.textShouldChange。

使用UITextView的子类和自定义屏幕键盘,调用textField.textShouldChange。
EN

Stack Overflow用户
提问于 2018-01-01 20:21:36
回答 2查看 250关注 0票数 3

我创建了一个自定义屏幕键盘,它不是inputView of the UITextField

在键盘上的委托方法中,我想调用activeTextField.shouldChangeText(in: UITextRange, replacementText: String)

这里的String显然是从我的键盘生成的新值。UITextRange只是一个要子类的类:

代码语言:javascript
复制
/* To accommodate text entry in documents that contain nested elements, or in which supplying and
 * evaluating characters at indices is an expensive proposition, a position within a text input
 * document is represented as an object, not an integer.  UITextRange and UITextPosition are abstract
 * classes provided to be subclassed when adopting UITextInput */

@available(iOS 3.2, *)
open class UITextRange : NSObject {

    open var isEmpty: Bool { get } //  Whether the range is zero-length.    

    open var start: UITextPosition { get }

    open var end: UITextPosition { get }
}

我不知道该怎么做才能瞄准整条字符串。任何帮助都将不胜感激。谢谢!

EN

回答 2

Stack Overflow用户

发布于 2018-01-04 00:25:06

如果我正确理解您的问题,那么activeTextField将已经实现了UITextPosition和UITextRange的子类。您需要做的就是使用适当的getter来构造UITextRange。

听起来您想要使用以下方法:

代码语言:javascript
复制
beginningOfDocument

endOfDocument

代码语言:javascript
复制
textRange

也许是这样的:

代码语言:javascript
复制
myTextRange = activeTextfield.textRange(
                activeTextfield.beginningOfDocument(), 
                activeTextfield.endOfDocument())

文档在这里:https://developer.apple.com/documentation/uikit/uitextinput

票数 0
EN

Stack Overflow用户

发布于 2018-01-07 21:10:29

首先,为了直接回答您的问题,您将创建如下文本范围:

代码语言:javascript
复制
let textRange = activeTextField.textRange(activeTextField.beginningOfDocument, activeTextField.endOfDocument)

这将创建一个选项UITextRange,因此您需要考虑到这一点。

但是,即使这样做,您也不能直接调用shouldChangeText,因为它是UITextInput协议的一部分,并且在默认情况下不是为UITextField实现的。你必须自己实现它。而且,这只会告诉你,如果文本可以被替换,它实际上不会做替换。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48052957

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档