ios 代码控制出现控件的阴影

只需要把对应的空间,进行重写。我开发的主要针对UIButton这个控件

.h文件,如下:

#import <UIKit/UIKit.h>

#import <QuartzCore/QuartzCore.h>

@interface ShadowButton : UIButton

{

    UIColor *shadowColor;

}

@property(nonatomic  , strong)UIColor *shadowColor;

@end

.m文件,如下

#import "ShadowButton.h"


@implementation ShadowButton

@synthesize shadowColor;


-(void)setProperty

{

    self.imageEdgeInsets = UIEdgeInsetsMake(0, -1, 3, 2);

    self.shadowColor = [UIColor grayColor];

}


- (id)initWithFrame:(CGRect)frame

{

    self = [super initWithFrame:frame];

    if (self) {

        // Initialization code

    }

    return self;

}


-(id)initWithCoder:(NSCoder *)aDecoder

{

    self = [super initWithCoder:aDecoder];

    if (self) {

        [self setProperty];

    }

    return self;

}



// Only override drawRect: if you perform custom drawing.

// An empty implementation adversely affects performance during animation.

- (void)drawRect:(CGRect)rect

{

    // Drawing code

    CGContextRef context = UIGraphicsGetCurrentContext();


    

    CGRect frame = rect;

    UIEdgeInsets insets = self.imageEdgeInsets;

    frame.origin.x +=insets.left;

    frame.origin.y +=insets.top;

    frame.size.width -= (insets.left + insets.right);

    frame.size.height -= (insets.top + insets.bottom);

    

    if (shadowColor) {

            CGContextSetShadowWithColor(context, CGSizeMake(insets.right, insets.bottom), 10, [shadowColor CGColor]);

    }

    

    UIImage *image = self.imageView.image;

    [image drawInRect:frame];

}



@end


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值