Một cách khác để tiếp cận bản vẽ hình tròn (và các hình dạng khác) là sử dụng mặt nạ. Bạn vẽ các vòng tròn hoặc các hình dạng khác bằng cách, đầu tiên, tạo các mặt nạ của các hình dạng bạn cần, thứ hai, cung cấp các ô vuông màu của bạn và thứ ba, áp dụng các mặt nạ cho các ô vuông màu đó. Bạn có thể thay đổi mặt nạ hoặc màu sắc để có được một vòng tròn tùy chỉnh mới hoặc hình dạng khác.
#import <QuartzCore/QuartzCore.h>
@interface ViewController ()
@property (weak, nonatomic) IBOutlet UIView *area1;
@property (weak, nonatomic) IBOutlet UIView *area2;
@property (weak, nonatomic) IBOutlet UIView *area3;
@property (weak, nonatomic) IBOutlet UIView *area4;
@end
@implementation ViewController
- (void)viewDidLoad {
[super viewDidLoad];
self.area1.backgroundColor = [UIColor blueColor];
[self useMaskFor: self.area1];
self.area2.backgroundColor = [UIColor orangeColor];
[self useMaskFor: self.area2];
self.area3.backgroundColor = [UIColor colorWithRed: 1.0 green: 0.0 blue: 0.5 alpha:1.0];
[self useMaskFor: self.area3];
self.area4.backgroundColor = [UIColor colorWithRed: 1.0 green: 0.0 blue: 0.5 alpha:0.5];
[self useMaskFor: self.area4];
}
- (void)useMaskFor: (UIView *)colorArea {
CALayer *maskLayer = [CALayer layer];
maskLayer.frame = colorArea.bounds;
UIImage *maskImage = [UIImage imageNamed:@"cirMask.png"];
maskLayer.contents = (__bridge id)maskImage.CGImage;
colorArea.layer.mask = maskLayer;
}
@end
Đây là đầu ra của mã ở trên: