【Objective-C】UIView&UILabel等
2016-09-19 本文已影响1503人
酷酷的小虎子
UILabel控件初始化之后对象自带阴影属性
@property(nullable, nonatomic,strong) UIColor *shadowColor; // default is nil (no shadow)
@property(nonatomic) CGSize shadowOffset; // default is CGSizeMake(0, -1) -- a top shadow
所以直接上代码
UILabel *label = [[UILabel alloc] initWithFrame:CGRectMake(100, 20, 175, 80)];
label.shadowColor = [UIColor blueColor];
label.shadowOffset = CGSizeMake(2, 1);
[self.view addSubview:label];
但是我们初始化UIView对象发现并不像UILabel自带阴影属性,其实不是的
- (void) setShadowWithColor:(CGColorRef)color offset:(CGSize)offset opacity:(CGFloat)opacity radius:(CGFloat)radius {
[self layer].masksToBounds = NO;
//阴影颜色
self.layer.shadowColor = color;
//阴影偏移量
self.layer.shadowOffset = offset;
//阴影不透明度
self.layer.shadowOpacity = opacity;
//阴影半径
self.layer.shadowRadius = radius;
}
系统为我们初始化一个设置阴影的方法
直接上代码
UIView *view = [[UIView alloc] initWithFrame:self.view.frame];
[view setShadowWithColor:[UIColor black8Color].CGColor offset:CGSizeMake(0, 0.5) opacity:1.f radius:0.5f];
[self.view addSubview:view];
阴影效果比较适用于比如控件上面&左面没有边框,下面&右面有边框等类似情况,具体情况具体使用