[英]Autocorrect issue with a colored UITextview
我在我的應用程序中使用帶有藍色背景的textview。
啟用自動更正后,無論何時更正單詞,都會在單詞周圍形成一個白框,文本的顏色也會發生變化。
關於如何阻止這種影響的任何想法?
不,我認為你不能改變疊加的顏色或開箱即用的文字顏色..
這是一個很難的,如果你在你的視圖的- (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;
}
}
}
它工作..但這導致錯過光標,並禁用任何選擇:(
我想你必須禁用自動更正..
如果有人找到真正的答案,我會重新開始賞金!
這可能有其他副作用我正在調查其他什么叫這個,但在UITextView中覆蓋firstRect(for range)並返回CGrect.Zero刪除突出顯示。
override public func firstRect(for range: UITextRange) -> CGRect {
return CGRect.zero;
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.