按钮UIButton的图片和文字上下分布

自定义一个类,继承自按钮,重写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;
    
}

你可能感兴趣的:(按钮UIButton的图片和文字上下分布)