彩色UITextview的自动更正问题

use*_*695 6 autocorrect uitextview ios

我在我的应用程序中使用带有蓝色背景的textview.

启用自动更正后,无论何时更正单词,都会在单词周围形成一个白框,文本的颜色也会发生变化.

关于如何阻止这种影响的任何想法?

Tie*_*eme 4

不,我认为您无法立即更改叠加层的颜色或文本颜色。

这是一个困难的问题,如果你在视图中放置一个断点,- (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;
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

它有效..但这会导致光标丢失,并禁用任何选择:(

我认为你必须禁用自动更正..

如果有人找到真正的答案,我将重新开始赏金!