首先自定义button,继承自NSButton,在自定义.m文件的drawRect:方法中写如下代码:
- (void)drawRect:(NSRect)dirtyRect {
[super drawRect:dirtyRect];
//将按钮边框绘制成虚线
[self setWantsLayer:YES];
[self setBordered:NO];
[self.layer setBackgroundColor:[[NSColor whiteColor] CGColor]];
NSBezierPath *path = [NSBezierPath bezierPathWithRect:self.layer.frame];
CGFloat dash_pattern[]={15.0, 10.0, 3.0, 10.0};//{线段1长度,线段1间距,线段2长度,线段2间距, ......}
NSInteger count = sizeof(dash_pattern)/sizeof(dash_pattern[0]);
[path setLineWidth:3.0f];
[path setLineCapStyle:NSSquareLineCapStyle];
[path setLineDash:dash_pattern count:count phase:0.0];
[[NSColor redColor] set];
[path stroke];
[path close];
}