彩色 UITextview 的自动更正问题
Posted
技术标签:
【中文标题】彩色 UITextview 的自动更正问题【英文标题】:Autocorrect issue with a colored UITextview 【发布时间】:2012-11-20 23:21:00 【问题描述】:我在我的应用程序中使用了一个带有蓝色背景的文本视图。
启用自动更正后,每当它更正一个单词时,就会在该单词周围形成一个白框,并且文本的颜色也会发生变化。
关于如何阻止这种影响的任何想法?
【问题讨论】:
我有同样的问题,但我找不到答案...有人吗?我提供赏金来回答这个问题(不会被应用商店拒绝) 来吧!甚至没有评论?没有其他人曾经对彩色 UITextView 使用自动更正吗?只有我(和 OP)有这个问题吗?至少发表评论并说“我有同样的问题,我认为......” 对不起。我做了一些搜索,没有找到任何有用的信息。 未回答的类似问题:***.com/questions/12172006/… @JSuar 感谢您的链接。我以前已经看过了。不幸的是,还没有答案... 【参考方案1】:不,我认为您无法立即更改叠加层的颜色或文本颜色..
这很难,如果你在视图的- (void) layoutSubviews ..
中设置一个断点,你会看到 UIKit 在文本上方绘制了一个“UITextSelectionView”...
我尝试将 UITextView 子类化,以查看它的 layoutSubviews 是否被触发,看起来确实如此!
所以我尝试删除覆盖:
- (void) layoutSubviews
[super layoutSubviews];
for (UIView *subview in self.subviews)
if ([NSStringFromClass([subview class]) isEqualToString:@"UITextSelectionView"])
DLog(@"Subview %@", [subview debugDescription]);
[subview removeFromSuperview];
break;
它确实有效..但这会导致光标丢失,并禁用任何选择:(
我认为你必须禁用自动更正..
如果有人找到真正的答案,我会重新开始赏金!
【讨论】:
自动更正在我的应用程序中是必须的,我无法禁用它。会尝试你的代码,希望我能弄清楚。感谢您的努力。 是的,我是这么认为的,祝你好运!如果你发现了什么,请告诉我! :( 似乎没有找到答案。我会奖励你赏金,因为浪费了它会很可惜。 太糟糕了:(如果有人找到真正的答案,我将重新开始赏金!【参考方案2】:这可能有其他副作用我目前正在调查其他所谓的,但覆盖 UITextView 中的 firstRect(for range) 并返回 CGrect.Zero 会删除突出显示。
override public func firstRect(for range: UITextRange) -> CGRect
return CGRect.zero;
【讨论】:
以上是关于彩色 UITextview 的自动更正问题的主要内容,如果未能解决你的问题,请参考以下文章
如何以编程方式关闭 UITextView 中的自动更正弹出框?