6

私は自分のアプリで背景が青色のテキストビューを使用しています。

自動修正が有効になっている場合、単語を修正するたびに単語の周りに白いボックスが形成され、テキストの色も変わります。

この効果を止める方法についてのアイデアはありますか?

4

2 に答える 2

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

そしてそれはうまくいきました..しかし、その結果、カーソルがなくなり、選択が無効になります:(

自動修正を無効にする必要があると思います..

誰かが本当の答えを見つけたら、賞金を再開します!

于 2013-01-05T14:51:55.353 に答える