iOS 官方文档整理----UIView

继承:   UIResponder : NSObject
框架: UIKit
作用:  
      1> 绘图和动画 使用 UIKit , Core Graphics, and OpenGL ES绘 制内容 .
      2> 布局自控件
      3> 事件处理  能处理触摸事件和其他定义在 UIResponder  的类
       4> 用 addGestureRecognizer: 这个方法进行手势识别

父控件和子控件: 一个父控件可以包含多个子控件,但是子空间只能有一个父控件.可以通过 clipsToBounds 来设置边界部分.默认为NO.
几何属性: frame bounds center

创建UIView
UIView  *myView = [[ UIView   alloc ] initWithFrame : CGRectMake ( 100 100 100 100 )];
    myView.
backgroundColor  = [ UIColor   purpleColor ];
    [
self . view   addSubview :myView];
子空间之间的关系:

保证view正确的改变大小.比如用   setNeedsLayout 方法是强制view更新自己的布局

视图周期
当一个视图第一次出现,全部或者部分可见的时候,系统会询问view来绘制其上下文.对应使用UIKit或Core Graphics框架的自定义view, 系统在view的内容显示到当前的上下文上之前调用   drawRect: 方法.
当view改变时,要调用   setNeedsDisplay   或者   setNeedsDisplayInRect: 通知系统view要重绘.
注意: 当使用Open GL ES时,要使用GLKView

动画
两种方式开始动画:
    1> block  (IOS4以后)
    2> begin/commit animation
可使用动画的属性:
线程问题
重写(Methods to Override)
        drawRect:             自定义的时候实现此方法.如果不做任何自定义,避免重写此方法.
        drawRect:forViewPrintFormatter:   当你想要在打印过程中绘制不同的view content
    1>  requiresConstraintBasedLayout    如果你的view需要约束条件才能正确工作,实现这个方法.
         2>   updateConstraints   如果你的子视图之间需要创建自定义约束.
         3>   alignmentRectForFrame: frameForAlignmentRect:  视图之间的位置关系


布局(layout)
         1>  sizeThatFits:   当你想view在改变大小的时候不是默认的大小.比如你可以使用这个方法来防止子视图在缩小过程中不能正确显示.
         2>  layoutSubviews   当你想精确的控制子视图的布局(而不是约束和autoresizing)
         3>  didAddSubview: willRemoveSubview: 跟踪子视图的添加和删除操作
         4>  willMoveToSuperview: didMoveToSuperview   在视图层次中踪当前视图的跳转
         5>  willMoveToWindow: didMoveToWindow   跟踪view跳到不同的window


事件处理(event handling)
        1>  touchesBegan:withEvent: touchesMoved:withEvent: touchesEnded:withEvent: touchesCancelled:withEvent:   触摸事件(对于基于手势的输入,使用 gesture recognizers)
        2>  gestureRecognizerShouldBegin:   如果你view需要直接处理touch事件,或者防止附着的手势触发其他操作.


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值