自定义Button布局

UIButton为一个复合控件,内部包含一个ImageView和一个Label,默认图片在左,文字在右,一些情况下,我们需要手动修改Button内部布局,当多个Button组合排列时闲的更为整齐

示例代码:


/*
typedef NS_ENUM(NSInteger, UIControlContentHorizontalAlignment) {
    UIControlContentHorizontalAlignmentCenter = 0,
    UIControlContentHorizontalAlignmentLeft   = 1,
    UIControlContentHorizontalAlignmentRight  = 2,
    UIControlContentHorizontalAlignmentFill   = 3,
};
*/
// button整体内容左对齐

self.contentHorizontalAlignment = UIControlContentHorizontalAlignmentLeft;
// 设置图片间距
self.imageEdgeInsets = UIEdgeInsetsMake(0, 30, 0, 0);
// 设置文字的间距
self.titleEdgeInsets = UIEdgeInsetsMake(0, 60, 0, 0);
// 取消系统默认的高亮状态渲染
self.adjustsImageWhenHighlighted = NO;

取消Button的高亮状态系统渲染,除了设置self.adjustsImageWhenHighlighted属性外,还可以空实现

- (void)setHighlighted:(BOOL)highlighted{
    
}

效果图:

自定义Button布局_第1张图片
自定义布局.png

你可能感兴趣的:(自定义Button布局)