自定义一个类,继承自按钮,重写layoutsubviews
原理:在layoutSubviews中已经调用了父类的layoutSubviews,按钮中的图片和文字位置已经被确定(左右显示),现在只要改变图片和文字的位置即可:
1、将图片的y值写成0 ,移到按钮的顶部,并改变图片中心的x值等于按钮的一半就是水平居中了
2、同理将文字的y值写成(按钮的高度 减去 自己的高度)移到按钮的底部,并改变文字中心的x值等于按钮的一半就是水平居中了
- (void)layoutSubviews{
[super layoutSubviews];
// 设置图片位置 gg_y 表示图片的y值,gg_cenerX表示图片的中心x值
self.imageView.gg_y = 0;
self.imageView.gg_centerX = self.gg_width * 0.5;
// 设置文字位置 gg_y 表示文字的y值,gg_cenerX表示文字的中心x值
self.titleLabel.gg_y = self.gg_height - self.titleLabel.gg_height; // 在按钮的底部显示
[self.titleLabel sizeToFit]; // 文字长度自适应
self.titleLabel.gg_centerX = self.gg_width * 0.5;
}