ios - 彩色 UITextview 的自动更正问题

标签 ios uitextview autocorrect

我在我的应用中使用了一个带有蓝色背景的 TextView 。

启用自动更正后,每当它更正一个词时,该词周围就会形成一个白框,并且文本的颜色也会发生变化。

关于如何阻止这种影响有什么想法吗?

最佳答案

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

这很难,如果您在 View 的 - (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;
        }
    }
}

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

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

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

关于ios - 彩色 UITextview 的自动更正问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13684167/

相关文章:

ios - 如何在 ios 中的 UITextView 中创建 UILabel

ios - 带有导致崩溃的 TextView 的属性文本

iphone - 如何阻止 UITextView 底部边缘插入重置为 32?

swift - Xcode自动更正工具?

像自动更正这样的代码需要 Java 帮助

autocomplete - *真的*关闭zsh自动更正

ios - 如何在 Swift 中制作 UITextView 50% 透明色

ios - Gcm iOS,订阅主题,错误码3004

objective-c - 有没有办法将 Node.JS 与 Objective-C/iPhone SDK 集成?

ios - 如何调试 UITableView 不显示行?