UIEdgeInsetsMake使用:效果上图下文,间隙可调
当对一个button同时设置了image和title时,默认情况是:image向左移动了label的宽度,标题向左移动了图片的距离,接下来通过拆解的方式来理解EdgeInsets设置实现。
1. 居中
[button setImageEdgeInsets:UIEdgeInsetsMake(0, 0, 0, -button.titleLabel.intrinsicContentSize.width)];
[button setTitleEdgeInsets:UIEdgeInsetsMake(0, -button.currentImage.size.width, 0, 0)];
居中
2. 上移(类似于默认情况的水平移动)
[button setImageEdgeInsets:UIEdgeInsetsMake(-button.titleLabel.intrinsicContentSize.height, 0, 0, -button.titleLabel.intrinsicContentSize.width)];
[button setTitleEdgeInsets:UIEdgeInsetsMake(button.currentImage.size.height, -button.currentImage.size.width, 0, 0)];
上移
3. 20高度间隙
[button setTitleEdgeInsets:UIEdgeInsetsMake(button.currentImage.size.height + 20, -button.currentImage.size.width, 0, 0)];
间隙效果
网友评论