美文网首页
4.UIButton 的内边距调整title和图标位置

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

作者: smart_M | 来源:发表于2019-08-13 13:24 被阅读0次
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和图标位置

    storyboard中通过按钮内边距调整图片和title的位置 一般设置图片和title默认效果如图: 如何把图片...

  • 前端教程:什么是内边距?

    在网页设计中,为了调整内容在盒子中的显示位置,常常需要给标记设置内边距,所谓内边距是指标记内容与边框之间的距离,也...

  • flutter AlertDialog去掉阴影

    以下是AlertDialog的构造方法。 title:标题titlePadding:标题内边距titleTextS...

  • iOS给UILabel增加内边距

    UILabel默认不带内边距,调整内边距步骤: 1.制定一个空白区:UIEdgeInsets。 2. 重写draw...

  • 内边距

    内边距 1.内边距为边框和内容之间的内边距 2.格式 padding-top padding-right padd...

  • 04-盒子

    padding-top:100px 内边距 背景会延伸到内边距 修改内边距会影响和子的大小 padding:上...

  • 内边距和外边距

    内外边距设置百分比时,上下内边距与左右内边距一致;即上下内边距的百分数会相对于父元素宽度设置,而不是相对于高度。外...

  • 盒模型笔记续

    外边距:盒子边框以外的跟其他元素的距离 行内元素的外边距和内边距 不管是外边距还是内边距,行内元素的margin和...

  • CSS之盒子(二)

    前面我们讲了盒子边框的宽度,样式和颜色,现在我们来聊聊外边距和内边距。 一,内边距(padding) 1.如果已经...

  • iOS开发中的特殊处理(一)

    1、UITextField 文本输入框 左内边距设置(以防文字内容贴边) 2、 UIButton 图标和文字的显示...

网友评论

      本文标题:4.UIButton 的内边距调整title和图标位置

      本文链接:https://www.haomeiwen.com/subject/rrbvjctx.html