自定义按钮一

一、自定义按钮

可实现的效果如图1.0和1.1所示

图1.0
1.1

1.这是一个可以自定义按钮背景图片位置大小,可以自定义按钮图片大小及位置,还可以自定义按钮的标题位置与字体样式的按钮,方法步骤如下: 

先创建一个UIButton类其中 .h 文件下的代码如下:#import@interface LJButton : UIButton

//文字在按钮中的坐标

@property(assign,nonatomic)CGRect titleRect;

//图片在按钮中的坐标 (为setImage:方法定制)

@property(assign,nonatomic)CGRect imageRect;

//背景图片(为setBackgroundImage:定制)

@property(assign,nonatomic)CGRect bagImageRect;

@end

.m文件代码如下:

#import "LJButton.h"

@implementation LJButton

-(CGRect)titleRectForContentRect:(CGRect)contentRect

{

if (!CGRectIsEmpty(self.titleRect) && !CGRectEqualToRect(self.titleRect, CGRectZero)) {

return self.titleRect;

}

return [super titleRectForContentRect:contentRect];

}

-(CGRect)imageRectForContentRect:(CGRect)contentRect

{

if (!CGRectIsEmpty(self.imageRect) && !CGRectEqualToRect(self.imageRect, CGRectZero)) {

return self.imageRect;

}

return [super imageRectForContentRect:contentRect];

}

-(CGRect)backgroundRectForBounds:(CGRect)bounds

{

if (!CGRectIsEmpty(self.bagImageRect) && !CGRectEqualToRect(self.bagImageRect, CGRectZero))

{

return self.bagImageRect;

}

return [super backgroundRectForBounds:bounds];

}

@end

自定义按钮已经定义好了,接下来就看如何使用了

首先第一步当然是吧头文件导进来

#import "LJButton.h"

然后实例化创建按钮,与创建普通按钮方法一样,同样要个按钮设置背景图或者图片以及标题,这里给按钮设置了图片以及标题,设置按钮的代码如下

-(void)creatButton

{

LJButton * bt = [LJButton buttonWithType:UIButtonTypeCustom];

bt.frame = CGRectMake(60, 60, 80, 80);

[bt setTitle:@"项目情况" forState:UIControlStateNormal];

bt.titleLabel.font = [UIFont systemFontOfSize:14];

bt.titleLabel.textAlignment = NSTextAlignmentCenter;

[bt setImage:[UIImage imageNamed:@"simple.png"] forState:UIControlStateNormal];

/**重点代码在这里**/

//自定义title在按钮中的位置

[bt setTitleRect:CGRectMake(0, 60, 80, 20)];

[bt setImageRect:CGRectMake(5, 0, 70, 60)];

[self.view addSubview:bt];

}

----------------蒋

你可能感兴趣的:(自定义按钮一)