c_cpp UIButton类别用于垂直居中标题标签和图像。文本标签位于图像下方。

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c_cpp UIButton类别用于垂直居中标题标签和图像。文本标签位于图像下方。相关的知识,希望对你有一定的参考价值。

#import "UIButton+VerticalLayout.h"

@implementation UIButton (VerticalLayout)  

- (void)centerVerticallyWithPadding:(float)padding 
{      
    CGSize imageSize = self.imageView.frame.size;  
    CGSize titleSize = self.titleLabel.frame.size;  

    CGFloat totalHeight = (imageSize.height + titleSize.height + padding);  

    self.imageEdgeInsets = UIEdgeInsetsMake(- (totalHeight - imageSize.height),
                                            0.0f,
                                            0.0f,
                                            - titleSize.width);

    self.titleEdgeInsets = UIEdgeInsetsMake(0.0f,
                                            - imageSize.width,
                                            - (totalHeight - titleSize.height),
                                            0.0f);
   
}


- (void)centerVertically
{  
    const CGFloat kDefaultPadding = 6.0f;
    
    [self centerVerticallyWithPadding:kDefaultPadding];  
}  


@end
@interface UIButton (VerticalLayout)  

- (void)centerVerticallyWithPadding:(float)padding;  
- (void)centerVertically;  

@end  

以上是关于c_cpp UIButton类别用于垂直居中标题标签和图像。文本标签位于图像下方。的主要内容,如果未能解决你的问题,请参考以下文章

如何将字体字形垂直居中?

如何在 UITableViewCell 中垂直居中对齐 UIButton? (目标 C)

使用 minimumScaleFactor 时 UIButton titleLabel 未垂直居中

UIButton 设置图片文字垂直居中排列

限制在超级视图中水平和垂直居中阻止我更改框架

使对象居中,因此垂直约束总是均匀的