一、自定义按钮
可实现的效果如图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];
}
----------------蒋