首页 > 代码库 > CALayer
CALayer
[objc] view plaincopy在CODE上查看代码片派生到我的代码片 <span style="font-size:18px;">为了确认设置</span><span style="font-size:18px; font-family: Arial, Helvetica, sans-serif;">imageView.layer.masksToBounds = YES</span><span style="font-family: Arial, Helvetica, sans-serif;">后,</span><span style="font-size:18px;"></span><p class="p1"><span style="font-family: Arial, Helvetica, sans-serif;">外面的view是否消失,改用了UIButton来验证.结果是存在的.</span></p> [objc] view plaincopy在CODE上查看代码片派生到我的代码片 UIButton *imageView = [[UIButton alloc] initWithFrame:CGRectMake(30, 20, 200, 200)]; [imageView setBackgroundImage:[UIImage imageNamed:@"气球.png"] forState:UIControlStateNormal]; [self.view addSubview:imageView]; /*****--第一种:图层当作一个属性来使用 --------*/ //CALayer图层前需要导入一个系统库 //设置图层的宽度 [imageView.layer setBorderWidth:5]; //设置图层的弧度 [imageView.layer setCornerRadius:100]; //设置颜色 [imageView.layer setBorderColor:[UIColor purpleColor].CGColor]; //设置bounds外消失 //imageView.layer.masksToBounds = YES;//默认为NO,如果设置为YES时,连阴影也会没有 //设置透明度 imageView.layer.opacity = 0.9; //设置阴影 imageView.layer.shadowColor = [UIColor redColor].CGColor; //设置阴影偏移量 imageView.layer.shadowOffset = CGSizeMake(30, 30); //设置阴影透明度,默认是全透明,所以设置才能看到 imageView.layer.shadowOpacity = 0.9f; //设置阴影弧度 imageView.layer.shadowRadius = 50; /*****--第二种:图层单独使用 --------*/ CALayer *layer1 = [CALayer layer];//便利构造器创建一个图层 //设置一个图层的内容 layer1.contents = (id)[UIImage imageNamed:@"气球.png"].CGImage; //设置图层的fram layer1.frame = CGRectMake(30, 260, 200, 200); //把图层add到图层上面 [self.view.layer addSublayer:layer1]; [layer1 setCornerRadius :100]; 上面有一个问题就是:我设置imageView.layer.masksToBounds = YES后,连阴影部分都消失了.为了解决这个问题,我们可以采用两层图层;代码如下:[objc] view plaincopy在CODE上查看代码片派生到我的代码片 CALayer *sublayer =[CALayer layer]; sublayer.backgroundColor =[UIColor blueColor].CGColor; sublayer.shadowOffset = CGSizeMake(3, 10); sublayer.shadowRadius =5.0; sublayer.shadowColor =[UIColor blackColor].CGColor; sublayer.shadowOpacity =0.8; sublayer.frame = CGRectMake(30, 30, 128, 192); sublayer.borderColor =[UIColor blackColor].CGColor; sublayer.borderWidth =2.0; sublayer.cornerRadius =10.0; [self.view.layer addSublayer:sublayer]; CALayer *imageLayer =[CALayer layer]; imageLayer.frame = sublayer.bounds; imageLayer.cornerRadius =10.0; imageLayer.contents =(id)[UIImage imageNamed:@"气球.png"].CGImage; imageLayer.masksToBounds =YES; [sublayer addSublayer:imageLayer];
CALayer
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。