UIScrollViewand で管理されている大きな画像がありますCATiledLayer( Large Image Downsizing iOS sample codeのように)。UIView線と長方形を描画するために、描画ビュー(描画メソッドでオーバーライド)がありました。パフォーマンスを向上させるために、画像を拡大したときに表示されている四角形のみを再描画する方法を見つけようとしています。
setNeedsDisplayInRect()メソッドを見つけて、次のように使用しています:
CGRect visibleRect = CGRectApplyAffineTransform(scrollView.bounds, CGAffineTransformMakeScale(1.0 / imageScale, 1.0 / imageScale));
[self.drawingView setNeedsDisplayInRect:visibleRect];
しかし、私のdrawRect()方法では、今のところ、すべての線と四角形を再描画します。どの可視線を再描画する必要があるかを知るにはどうすればよいですか?