iOS 渐变色的设置网上有文章专门做了说明https://www.jianshu.com/p/3e0e25fd9b85,不过我没有验证。有兴趣的可以试一下。
OS X的实现貌似有些不同,直接上代码:
- (void)drawRect:(NSRect)dirtyRect {
[super drawRect:dirtyRect];
// Drawing code here.
NSGradient *grad = [[NSGradient alloc] initWithStartingColor:[NSColor colorWithHexColorString:@"5574F7"]
endingColor:[NSColor colorWithHexColorString:@"60C3FF"]];
// [grad drawFromPoint:NSMakePoint(0, dirtyRect.size.height/2) toPoint:NSMakePoint(dirtyRect.size.width, dirtyRect.size.height/2) options:NSGradientDrawsBeforeStartingLocation|NSGradientDrawsAfterEndingLocation];
[grad drawInRect:dirtyRect angle:45];
}
很明显,我将需要使用渐变色的view自定义了一下,集成自NSView,在drawRect方法中直接设置渐变色。
NSGradient有很多draw的方法,具体用那个视情况而定,我还没研究具体有啥不同,感兴趣的可以自己研究下。
网友评论