ios 代码控制出现控件的阴影
2014-11-04来源:易贤网

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

.h文件,如下:

#import

#import

@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

更多信息请查看IT技术专栏

推荐信息