怎么在ios代码控制出现控件的阴影

悟途网 2013年06月06日 22:24 阅读()
字号 (A- A+)

只需要把对应的空间,进行重写。开发的主要针对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

热门文章
随机推荐
iPhone小圆点AssistiveTouch使用大全

iPhone小圆点AssistiveTouch使用

小圆点AssistiveTouch并不是随iPhone出生一起诞生的,直到...

苹果iPhone手机手电筒亮度调节教程

苹果iPhone手机手电筒亮度调

苹果在最新的iOS10系统中带来了不少改进,其中iPhone6...

iOS 9越狱后必备插件汇总

iOS 9越狱后必备插件汇总

iOS9必备插件有哪些?盘古大神iOS9完美越狱出来啦,越...

如何更快更好用iPhone6加速优化方法

如何更快更好用iPhone6加速优

怎样在不影响主体功能的前提下尽量提高iPhone6的性能呢...

iPhone手机怎么设置一个回电提醒的方法

iPhone手机怎么设置一个回电

来电并不总是在适当的时候出现,如果你的iPhone在开会...

iPhone6s有必要升级iOS11系统吗?iOS11好用吗?

iPhone6s有必要升级iOS11系统吗

iPhone6s升级iOS10.3.2好用吗?要不要升级iOS11呢?想必有很...

防止孩子删除iPhone手机App应用的方法

防止孩子删除iPhone手机App应

随着iPhone的普及,经常可以看到玩iPhone手机的孩子。在...

怎么在ios代码控制出现控件的阴影

怎么在ios代码控制出现控件

怎么在ios代码控制出现控件的阴影,只需要把对应的空...