iOS 实现视图遮罩效果

有时候,我们会遇到这种需求,只讲视图的某个部分展示出来

这时候,我们可以通过设置该视图layer.mask = layerb来实现,需要注意的是,这里的layerb必须要设置backgroundColor,渐变layer有colors,否则达不到效果

示例:

- (void)viewDidLoad {
    [super viewDidLoad];
    self.view.backgroundColor = [UIColor cyanColor];
    
    CALayer *layer = [[CALayer alloc] init];
    layer.frame = CGRectMake(100, 200, 100, 100);
    layer.backgroundColor = [UIColor whiteColor].CGColor;
    self.view.layer.mask = layer;
    // Do any additional setup after loading the view.
}
相关推荐
李小苶7 小时前
Mac m1,m2,m3芯片使用nvm安装node14报错
macos
taopi20248 小时前
ios打包:uuid与udid
ios·iphone·ipad
我是唐青枫11 小时前
Mac 上如何同时运行多个MySQL版本?
mysql·macos·adb
好悬给我拽开线13 小时前
【论文阅读】RT-SKETCH: GOAL-CONDITIONED IMITATION LEARNING FROM HAND-DRAWN SKETCHES
论文阅读·macos·sketch
小鹿撞出了脑震荡19 小时前
Effective Objective-C 2.0 读书笔记——关联对象
开发语言·ios·objective-c
小鹿撞出了脑震荡19 小时前
Effective Objective-C 2.0 读书笔记—— objc_msgSend
ios·objective-c·xcode
fareast_mzh19 小时前
Customize ringtone on your iPhone
ios·iphone
随心但不率性1 天前
macos app签名和公证
macos·策略模式
Mr.L705171 天前
Maui学习笔记- SQLite简单使用案例02添加详情页
笔记·学习·ios·sqlite·c#
taopi20241 天前
ios swift画中画技术尝试
ios·xcode·swift