我是靠谱客的博主 阳光发带,最近开发中收集的这篇文章主要介绍4.UIButton 的内边距调整title和图标位置,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

UIButton的内边距调整title和图标位置

          • storyboard中通过按钮内边距调整图片和title的位置
          • 代码通过按钮内边距调整图片和title的位置

storyboard中通过按钮内边距调整图片和title的位置

一般设置图片和title默认效果如图:
在这里插入图片描述
如何把图片和title位置互换:
选中button控找到Semantic,点击下拉按钮,选中Fore Right-to_left即可,前边四项效果同默认效果一样,最后一项效果如下图。
在这里插入图片描述还可以通过直接修改Title InsetsImage Insets达到上述效果
在这里插入图片描述

代码通过按钮内边距调整图片和title的位置

1.图片在右,图标在左
在这里插入图片描述

	CGSize titleSize = self.button.titleLabel.bounds.size;
    CGSize imageSize = self.button.imageView.bounds.size;
    CGFloat interval = 20.0;//这个z值根据实际情况调整
   
    self.button.imageEdgeInsets = UIEdgeInsetsMake(0,titleSize.width + interval, 0, -(titleSize.width + interval));
    self.button.titleEdgeInsets = UIEdgeInsetsMake(0, -(imageSize.width + interval), 0, imageSize.width + interval);

2.图片在上,title在下

	self.button.titleLabel.backgroundColor = self.button.backgroundColor;
    self.button.imageView.backgroundColor = self.button.backgroundColor;
    
    CGSize titleSize = self.button.titleLabel.bounds.size;
    CGSize imageSize = self.button.imageView.bounds.size;
    CGFloat interval = 1.0;//根据实际情况调整
    
    [self.button setImageEdgeInsets:UIEdgeInsetsMake(0,0, titleSize.height + interval, -(titleSize.width + interval))];
    [self.button setTitleEdgeInsets:UIEdgeInsetsMake(imageSize.height + interval, -(imageSize.width + interval), 0, 0)];

在这里插入图片描述
注意:当设置上面的代码没有效果的情况下,可尝试如下
偶然间发现,只要在获取titleSize之前,使用一次buttontitleLabelimageView,就能获取到他的size了,设置一下titleLabelimageView的任意属性都行,如果不需要设置这些属性,可以和我一样,设置一下它的背景色和button一致(只是为了提前使用一次)

button.titleLabel.backgroundColor = button.backgroundColor;
button.imageView.backgroundColor = button.backgroundColor;

最后

以上就是阳光发带为你收集整理的4.UIButton 的内边距调整title和图标位置的全部内容,希望文章能够帮你解决4.UIButton 的内边距调整title和图标位置所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(49)

评论列表共有 0 条评论

立即
投稿
返回
顶部