iOS7 でテキスト キットを使用してノート エディターを構築しています。以前、カスタム サイズの NSTextAttachment のレンダリングで問題が発生しました。レンダリングが大幅に遅くなったためです。画像をスケーリングしてからテキストビューに追加することで問題を解決しまし た。それに画像を追加する 画像をスケーリングした後、テキストビューのレンダリングは遅延なく正常に実行されます。テキストビューの属性付きテキストはコアデータに保存されます。アプリケーションの実行中のセッション中、テキストビューは画像を正しく表示します。属性付きテキストをコアデータに保存して取得した後でももう一度テキストビューに表示すると、画像はきれいに見えますが、アプリを強制終了して再度アプリケーションを実行すると、画像は2倍のサイズに拡大されます。画質。
- (UIImage *)imageWithImage:(UIImage *)image scaledToSize:(CGSize)newSize {
UIGraphicsBeginImageContextWithOptions(newSize, NO, [UIScreen mainScreen].scale);
[image drawInRect:CGRectMake(0, 0, newSize.width, newSize.height)];
UIImage *newImage = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
return newImage;
}
画像を 1.0 にスケーリングすると、画像は拡大されませんが、画質は非常に悪くなります。
問題はどこにあると思いますか? 問題はレイアウトマネージャーにあります。
私が試し
たこと NSLayoutManager をサブクラス化し、
- (void)drawGlyphsForGlyphRange:(NSRange)glyphsToShow atPoint:(CGPoint)originをオーバーライド
しようとしました。アプリケーションの新しいセッションを実行すると、添付ファイルのサイズが倍増します。添付ファイルのサイズを確認してサイズを変更すると、再びラグが発生し始めます。私はかなりの時間からこの問題に悩まされています。どんな提案でも大歓迎です。