专注收集记录技术开发学习笔记、技术难点、解决方案
网站信息搜索 >> 请输入关键词:
您当前的位置: 首页 > 图形/图像

UI:UIButton中setTitleEdgeInsets跟setImageEdgeInsets的使用

发布时间:2011-06-27 19:35:16 文章来源:www.iduyao.cn 采编人员:星星草
UI:UIButton中setTitleEdgeInsets和setImageEdgeInsets的使用

实质上UIButton中是内置的两个控件imageView和titleLabel,可以用来显示图片(非背景图片)和文本。

所以UIButton 中可以添加image和text,默认情况下,text显示在image的右边,且二者y值都居中显示(依赖于button的contentHorizontalAlignment:居左、居右、居中)。


显示格式区分:

1.当button.width < image.width时,只显示被压缩后的图片,图片是按照fillXY的方式压缩。

2.当button.width > image.width,且button.width < (image.width+text.width)时,图片正常显示,文本被压缩。

3.当button.width > (image.width+text.width)时,两者并列默认居中显示,可通过button的属性contentHorizontalAlignment改变对齐方式。


想改变两个子控件的显示位置,可以分别通过setTitleEdgeInsets和setImageEdgeInsets来实现。对titleLabel和imageView设置偏移是针对他当前的位置起作用的,并不是针对距离button边框的距离的。

typedef NS_ENUM(NSInteger, UIControlContentHorizontalAlignment) {

    UIControlContentHorizontalAlignmentCenter = 0,//居中

    UIControlContentHorizontalAlignmentLeft   = 1,//居左

    UIControlContentHorizontalAlignmentRight  = 2,//居右

    UIControlContentHorizontalAlignmentFill   = 3,//

};

(1)居中


(2)居左


(3)居右


(4)充满


初始条件:此时的size如图,(居左状态)


想要让图片和文本上下排列,需要让image向下偏移(距离上面的间隙),向右偏移(button.width - image.width/2)。(向左和向上偏移传负值)

title向下偏移(图片的高度+间隙),向右偏移((button.width - image.width)/2 - image.width),因为文本本身的其实x位置是从image.width开始的,所以计算偏移时要减掉这个宽度。


效果如图:



友情提示:
信息收集于互联网,如果您发现错误或造成侵权,请及时通知本站更正或删除,具体联系方式见页面底部联系我们,谢谢。

其他相似内容:

热门推荐: