理解UIEdgeInsets

来源:互联网 发布:帮人淘宝推广怎么做 编辑:程序博客网 时间:2024/06/05 19:40
iOS 的控件,只看到 UIButton 可以设置Padding/Insets,即按钮上文字或图片与按钮边界的间隙,对与 CSS 来说叫做Padding,在 iOS 中叫做 Insets,UIButton 设置 Insets 相应的属性如下:

Configuring Edge Insets

     contentEdgeInsets  property
     titleEdgeInsets  property
     imageEdgeInsets  property 

它们接受的属性类型是:UIEdgeInsets,由函数 UIEdgeInsetsMake ( CGFloat top, CGFloatleft, CGFloat bottom, CGFloat right);    构造出,分别表示其中的内容/标题/图片离各边的距离。

在 xib 中也有界面来对按钮的这三个 EdgeInsets 属性的设置,分别是按钮的 Edge 和 Inset 属性。

印像中,Swing 的许多组件都可设置 Insets 属性,可对于 iOS 的控件就没那么幸运了,比如我想设置 UILable 或 UITextField 中的文本离边界的间隙,无伦是在 xib 里还是直接代码的方式都无能为力,因为它们根据未开放相应的属性让你去控制。

办法当然还是有的,自定义相应自己的控件了,比如InsetsLabel 或是 InsetsTextField,接着就是覆盖某些个方法来达成。


来源:http://blog.sina.com.cn/s/blog_7c8dc2d50101l1h2.html

原创粉丝点击