【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];

阴影效果比较适用于比如控件上面&左面没有边框,下面&右面有边框等类似情况,具体情况具体使用

上一篇下一篇

猜你喜欢

热点阅读