内容对齐 TextAlignment & VerticalAlignment & HorizontalAlignment & contentMode

四个容易混淆的属性:

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

   1> 取值

   NSTextAlignmentLeft      = 0,    // 左对齐
   NSTextAlignmentCenter    = 1,    // 居中对齐
   NSTextAlignmentRight    = 2,    // 右对齐

   2> 哪些控件有这个属性 : 一般能够显示文字的控件都有这个属性

   * UITextField
   * UILabel
   * UITextView

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

   1> 取值

   UIControlContentVerticalAlignmentCenter  = 0, // 居中对齐
   UIControlContentVerticalAlignmentTop     = 1, // 顶部对齐
   UIControlContentVerticalAlignmentBottom  = 2, // 底部对齐

   2> 哪些控件有这个属性 : 继承自UIControl的控件或者UIControl本身

   * UIControl
   * UIButton
   * UITextField
   * ...

3.contentHorizontalAlignment : 内容的水平方向的对齐方式

   1> 取值

   UIControlContentHorizontalAlignmentCenter = 0, // 居中对齐
   UIControlContentHorizontalAlignmentLeft   = 1, // 左对齐
   UIControlContentHorizontalAlignmentRight  = 2, // 右对齐

   2> 哪些控件有这个属性 : 继承自UIControl的控件或者UIControl本身

   * UIControl
   * UIButton
   * UITextField
   * ...

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

   1> 取值

   /*
   规律:
   1.Scale : 图片会拉伸
   2.Aspect : 图片会保持原来的宽高比
   */
   // 前3个情况, 图片都会拉伸
   // (默认)拉伸图片至填充整个UIImageView(图片的显示尺寸会跟UIImageView的尺寸一样)
   UIViewContentModeScaleToFill,
   // 按照图片原来的宽高比进行伸缩, 伸缩至适应整个UIImageView(图片的内容不能超出UIImageView的尺寸范围)
   UIViewContentModeScaleAspectFit,
   // 按照图片原来的宽高比进行伸缩, 伸缩至 图片的 宽度 和UIImageView的宽度一样 或者 图片的高度和UIImageView的高度一样
   UIViewContentModeScaleAspectFill,

   // 后面的所有情况, 都会按照图片的原来尺寸显示, 不会进行拉伸
   UIViewContentModeRedraw,  // 当控件的尺寸改变了, 就会重绘一次(重新调用setNeedsDisplay, 调用drawRect:)
   UIViewContentModeCenter,
   UIViewContentModeTop,
   UIViewContentModeBottom,
   UIViewContentModeLeft,
   UIViewContentModeRight,
   UIViewContentModeTopLeft,
   UIViewContentModeTopRight,
   UIViewContentModeBottomLeft,
   UIViewContentModeBottomRight,

   2> 哪些控件有这个属性 : 

   所有UI控件都有


5. 如果有多个属性的作用冲突了, 只有1个属性有效(就近原则)



你可能感兴趣的:(内容对齐,TextAlignment,contentMode,iOS,UITextField,自适应,UILabel)