自动更正问题,用彩色的UITextView(Autocorrect issue with a col

2019-08-03 11:43发布

我用我的应用程序与蓝色背景一个TextView。

当启用自动更正,只要它可以解决一个字的字周围白框的形式和文字的颜色变化也。

如何制止这种影响任何想法?

Answer 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;
        }
    }
}

和它的工作..但导致丢失光标,并禁用任何选择:(

我想你会需要禁用自动更正..

如果有人发现一个真正的答案,我会重新开始赏金!



Answer 2:

这可能会产生其他副作用,我目前正在调查还有什么要求这一点,但覆盖在UITextView的firstRect(为范围)并返回CGrect.Zero删除亮点。

override public func firstRect(for range: UITextRange) -> CGRect {
     return CGRect.zero;
}


文章来源: Autocorrect issue with a colored UITextview