1
多くのカスタムビューを表示するスクロールビューがあります。NSScrollView内でカスタムビューを使用するとアーティファクトが発生する
私は独自のクラスを使用しているので、drawRectメソッドを使用してビューの一番下に線を描画できます。ここで
@interface MyListItemView : NSView
のdrawRect
@implementation MyListItemView
-(void)drawRect:(NSRect)rect
{
[NSGraphicsContext saveGraphicsState];
NSBezierPath * path;
path = [NSBezierPath bezierPath];
[path moveToPoint: rect.origin];
[path lineToPoint: NSMakePoint(rect.size.width, 0)];
[path setLineWidth:1];
[[NSColor grayColor] set];
[path stroke];
[NSGraphicsContext restoreGraphicsState];
}
@end
の私の実装であると予想、これはラインを描くが、私はコンテナをスクロールすると下の画像の右側に示したように私はアーティファクトは、表示されてます:
私は、グラフィックスコンテキストの保存と復元しようとしたが、これは何の違いを行っていないし、それはそのコのように見えていませんdeが必要です。私は何が欠けていますか?
を:
私が行うために必要なすべての
はこれに私のラインコードを変更し、半画素私のラインを上に移動しました。それは半分の点です。 – uchuugaka