iOS 中UI控件的各种对齐方式总结

在项目开发中创建的控件总是会有一些对齐方式,下面是总结了一些常见的UI控件对齐方式

1. textAligment : 文字的水平方向的对齐方式

    取值:

NSTextAlignmentLeft      = 0,    // 左对齐
NSTextAlignmentCenter    = 1,    // 居中对齐
NSTextAlignmentRight    = 2,    // 右对齐
    有这些属性的控件:

    UITextField、UILabel、UITextView

   (UILabel 默认是居中对齐的,并没有提供顶部对齐的方式-_-,可以使用如下的方式实现:)

     
具体的也可以参考:http://blog.devtang.com/2011/11/20/set-uilabel-text-align-top/

2. contentVerticalAlignment: 内容的垂直方向的对齐方式

   取值

UIControlContentVerticalAlignmentCenter  = 0, // 居中对齐
UIControlContentVerticalAlignmentTop     = 1, // 顶部对齐
UIControlContentVerticalAlignmentBottom  = 2, // 底部对齐
  contentHorizontalAlignment:内容的水平方向的对齐方式

UIControlContentHorizontalAlignmentCenter = 0, // 居中对齐
UIControlContentHorizontalAlignmentLeft   = 1, // 左对齐
UIControlContentHorizontalAlignmentRight  = 2, // 右对齐
有这些属性的控件:

继承UIControl的控件或者UIControl本身

UIControl

UIButton

UITextField.....

根据以上就可以方便的设置 btn 的文字以及图片的各种对齐方式了,如btn设置:

btn.contentHorizontalAlignment = UIControlContentHorizontalAlignmentLeft;
btn.contentVerticalAlignment = UIControlContentVerticalAlignmentTop;
此时按钮的内容就会靠左上角对齐了

3.contentMode:内容模式(控制内容的对齐方式),一般对UIImageView很有用

取值

<span style="font-family:FangSong_GB2312;font-size:18px;">规律:

 1.Scale : 图片会拉伸

 2.Aspect : 图片会保持原来的宽高比

 3. AspectScale */

// 前3个情况, 图片都会拉伸

// (默认)拉伸图片至填充整个UIImageView(图片的显示尺寸会跟UIImageView的尺寸一样)

    UIViewContentModeScaleToFill,

    // 按照图片原来的宽高比进行伸缩, 伸缩至适应整个UIImageView(图片的内容不能超出UIImageView的尺寸范围)

    UIViewContentModeScaleAspectFit,

    // 按照图片原来的宽高比进行伸缩, 伸缩至 图片的宽度和UIImageView的宽度一样 或者 图片的高度和UIImageView的高度一样

    UIViewContentModeScaleAspectFill,

    // 后面的所有情况, 都会按照图片的原来尺寸显示, 不会进行拉伸

    UIViewContentModeRedraw,  // 当控件的尺寸改变了, 就会重绘一次(重新调用setNeedsDisplay, 调用drawRect:)

    UIViewContentModeCenter,
    UIViewContentModeTop,
    UIViewContentModeBottom,
    UIViewContentModeLeft,
    UIViewContentModeRight,
    UIViewContentModeTopLeft,
    UIViewContentModeTopRight,
    UIViewContentModeBottomLeft,
    UIViewContentModeBottomRight,</span>
所有UI控件都有这个属性

注意:

如果有多个属性的作用冲突了, 只有1个属性有效(就近原则)(例如:同时设置了btn的contentMode和contentVerticalAlignment,因为第二个约束是直接针对btn的所以只有第二个属性才有效!)

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值