gpt4 book ai didi

objective-c - 自定义文本字段 - 镜像自动更正

转载 作者:搜寻专家 更新时间:2023-10-30 20:20:17 25 4
gpt4 key购买 nike

我正在使用 CoreText 实现自定义 UITextView(基于 EGOTextView)并符合 UITextInput协议(protocol)。除了一件烦人的事情,我几乎一切正常(呸!)。自动更正建议文本垂直镜像,其突出显示略微向右移动。这是它的样子:

Mirrored autocorrection

在文本字段中,我输入了“helo”,它会自动更正为“help”。如您所见,自动更正文本而非其背景是垂直镜像的。此外,它在水平方向上向右偏移了 ~7pt。

为了解决第二个问题(水平偏移),我已经验证了 firstRectForRange: 方法返回了正确的 CGRect。我用两种方式做到了这一点。第一个是目视检查当我显示 UIMenuController 时它是否显示在正确的位置(确实如此)。第二种是围绕 firstRectForRange: 返回的 CGRect 绘制轮廓。这是带有 CGRect 轮廓的相同文本。

Outlined CGRect

如您所见,正确区域已勾勒出轮廓,但自动更正标记/突出显示不正确。

我很乐意分享任何代码,但这是一个庞大的类(class),我现在很困惑。任何指针将不胜感激!

编辑:源代码可在该存储库的实验分支上获得:github.com/cbrauchli/EGOTextView .

最佳答案

我在尝试你的代码时也遇到了同样的问题,我发现没有必要实现

- (UIView *)textInputView {
return _textContentView;
}

参见 Apple documentation (这通常是 UITextInput-adopting 类的一个实例。)以获得更多帮助。如果您想继续执行此方法,只需从中return self,因为这里 self (EGOTextView) 是 UITextInput-adopting 类的一个实例。

我最后试了一下,效果很好。

关于objective-c - 自定义文本字段 - 镜像自动更正,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13389613/

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