In meiner benutzerdefinierten Ansicht zu zeichnen, ich habe Code wie folgt:Wie eine gestrichelte Linie Grenze für NSView
- (void)drawRect:(NSRect)dirtyRect {
[super drawRect:dirtyRect];
//Drawing code here.
[self setWantsLayer: YES];
[self.layer setBorderWidth: 1];
[self.layer setBorderColor:[NSColor colorWithRed:205/255.0 green:211/255.0 blue:232/255.0 alpha:1.0].CGColor];
[self.layer setCornerRadius: 10];
}
Dies ist OK Grenzlinie und Farbe für meine NSView zu setzen, aber ich möchte einen Schuss setzen Linie, weiß jemand, wie man das macht? Und ich habe einige Codes aus der Websuche ausprobiert, aber es zeichnet überhaupt keine Grenze.
- (void)drawRect:(NSRect)dirtyRect {
[super drawRect:dirtyRect];
// Drawing code here.
CGFloat dashPattern[] = {10,4}; //make your pattern here
NSBezierPath *textViewSurround = [NSBezierPath bezierPathWithRoundedRect:self.frame xRadius:10 yRadius:10];
[textViewSurround setLineWidth:2.0f];
[textViewSurround setLineDash:dashPattern count:2 phase:0];
[[NSColor colorWithRed:205/255.0 green:211/255.0 blue:232/255.0 alpha:1.0] set];
[textViewSurround stroke];
}
Vielleicht ist eine Linienbreite von 2,0 zu dünn um zu sehen? Versuchen Sie einen großen Wert. Zu einem kleinen Punkt denke ich, dass Sie self.bounds anstelle von self.frame verwenden sollten. – Jerry