文章目录
  1. 1. iOS UIView非常用方法及属性详解
    1. 1.0.1. iOS UIView非常用方法及属性详解

iOS UIView非常用方法及属性详解

UIView Ios技术文章收录

iOS UIView非常用方法及属性详解

在调用视图的drawRect:方法之前,UIKit 会自动对描画环境进行配置,使左上角成为

坐标系统的原点,在这个环境中发生的Quartz 调用都可以正确地在视图中描画。
 
视图对象通过frame、bounds、和center 属 性声明来跟踪自己的大小和位置。frame 属性包含一个矩形,即边框矩形,用于指定视图相对于其父视图坐标系统的位置和大小。bounds 属性也包含一个矩形,即边界矩形,负责定义视图相对于本地坐标系统的位置和大小。虽然边界矩形的原点通常被设置为(0, 0),但这并不是必须的。center 属性包含边框矩形的中心点。
 
当您在代码中通过initWithFrame:方法创建一个视图对象时,其frame 属性就会被设置。该方法同时也将bounds 矩形的原点初始化为(0.0, 0.0),大小则和视图的边框相同。然后center 属性会被设置为边框的中心点。
 
缺省情况下,视图的边框并不会被父视图的边框裁剪。如果您希望让一个视图裁剪
其子视图,需要将其clipsToBounds 属性设置为YES。
 
举例来说,UIView 类中包含一个transform 属性声明,您可以通过它来对整个视图实行各种类型的平移、比例缩放、和变焦缩放效果。缺省情况下,这个属性的值是一个恒等变换,不会改变视图的外观。在加入变换之前,首先要得到该属性中存储的CGAffineTransform 结构,用相应的Core Graphics 函数实行变换,然后再将修改后的变换结构重新赋值给视图的transform 属性。
 
视图的contentMode 属性决定了边界变化和缩放操作作用到视图上产生的效果。
缺省情况下,这个属性的值被设置为UIViewContentModeScaleToFill,意味着视图内容总是被缩放,以适应新的边框尺寸。
 
不同的UIViewContentMode 常量(比如UIViewContentModeTop 和
UIViewContentModeBottomRight)可以使当前的内容在视图的不同角落或沿着视图的不同边界显示,还有一种模式可以将内容显示在视图的中心。
 
当您希望在应用程序中实现尺寸可调整的控件时,请务必考虑使用内容模式。
内容模式通常有助于避免视图内容的描画,但是当您希望对缩放和尺寸调整过程中的视图外观进行特别的控制时,也可以使用UIViewContentModeRedraw 模式
 
如果视图的autoresizesSubviews 属性声明被设置为YES,则其子视图会根据
autoresizingMask 属性的值自动进行尺寸调整。否则,应用程序就必须通过重载layoutSubviews 方法来提供自己的实现。
 
如果要使一个视图和其父视图左下角的相对位置保持不变, 可以加入UIViewAutoresizingFlexibleRightMargin和
UIViewAutoresizingFlexibleTopMargin 常量,并将结果赋值给autoresizingMask 属性。当同一个轴向有多个部分被设置为可变时,尺寸调整的裕量会被平均分配到各个部分上。

 
UIViewAutoresizingNone 这个常量如果被设置,视图将不进行自动尺寸调整。
UIViewAutoresizingFlexibleHeight
这个常量如果被设置,视图的高度将和父视图的高度一起成比
例变化。否则,视图的高度将保持不变。
UIViewAutoresizingFlexibleWidth
这个常量如果被设置,视图的宽度将和父视图的宽度一起成比
例变化。否则,视图的宽度将保持不变。
UIViewAutoresizingFlexibleLeftMargin
这个常量如果被设置,视图的左边界将随着父视图宽度的变化
而按比例进行调整。否则,视图和其父视图的左边界的相对位
置将保持不变。
UIViewAutoresizingFlexibleRightMargin
这个常量如果被设置,视图的右边界将随着父视图宽度的变化
而按比例进行调整。否则,视图和其父视图的右边界的相对位
置将保持不变。
UIViewAutoresizingFlexibleBottomMargin
这个常量如果被设置,视图的底边界将随着父视图高度的变化
而按比例进行调整。否则,视图和其父视图的底边界的相对位
置将保持不变。
UIViewAutoresizingFlexibleTopMargin
这个常量如果被设置,视图的上边界将随着父视图高度的变化
而按比例进行调整。否则,视图和其父视图的上边界的相对位

置将保持不变。

文章目录
  1. 1. iOS UIView非常用方法及属性详解
    1. 1.0.1. iOS UIView非常用方法及属性详解