在ios开发中经常会用到自定义button的情况,如果作为新人你不会写,那下面的代码,将会对你起到帮助。
步骤:1.新建一个类,继承自UIButton.
2.在.m文件中实现如下几个方法.
//通过代码创建会调用
- (instancetype)initWithFrame:(CGRect)frame{
if (self = [super initWithFrame:frame]) {
[self setup];
}
return self;
}
/**
* 设置btn的子控件
*/
- (void)setup{
//图片居中,可能显示不完全
self.imageView.contentMode = UIViewContentModeScaleAspectFill;
self.titleLabel.textAlignment = NSTextAlignmentCenter;
self.titleLabel.font = [UIFont systemFontOfSize:13];
[self setTitleColor:[UIColor whiteColor] forState:UIControlStateNormal];
[self setTitleColor:[UIColor whiteColor] forState:UIControlStateHighlighted];
}
// 设置图片frame
- (CGRect)imageRectForContentRect:(CGRect)contentRect{
CGFloat imageX = 0;
CGFloat imageY = 0;
CGFloat imageW = contentRect.size.width;
CGFloat imageH = contentRect.size.height * 0.6;
return CGRectMake(imageX, imageY, imageW, imageH);
}
// 设置文字frame
-(CGRect)titleRectForContentRect:(CGRect)contentRect{
CGFloat titleX = 0;
CGFloat titleY = contentRect.size.height - contentRect.size.height * 0.6 + 10;
CGFloat titleW = contentRect.size.width;
CGFloat titleH = contentRect.size.height * 0.4;
return CGRectMake(titleX, titleY, titleW, titleH);
}