GeekBand-IOS进阶第一周笔记(view 的层次结构、事件处理)

view的层次结构

UIScreen

这个属性我们直接与其打交道的机会较少,介绍几个可能用到的方法和属性。

  • +mainScreen拿到当前设备的屏幕大小
  • multiple screens外接屏幕会用到


    GeekBand-IOS进阶第一周笔记(view 的层次结构、事件处理)_第1张图片
    multiple screens.png
  • .scale操纵的点所对应屏幕的像素
  • .coordinateSpace坐标随着屏幕转动等改变
  • .fixedCoordinateSpace坐标不变
    下面这个是比较方便的截图方法,返回一个UIView。


    实用截图方法.png

UIWindow

  • -makeVisibleAndKey,当前显示的关键window,响应用户的window


    新建关键window.png
  • 遮掩任务栏的方法,在- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions设置window.windowlevel属性值
    window小技巧.png

UIView

Clipping效果

当view的superView.clipsToBounds属性为YES时,它在superView外面的部分会被裁掉,效果如图:


GeekBand-IOS进阶第一周笔记(view 的层次结构、事件处理)_第2张图片
剪切属性效果图.png

view的基本操纵方法

GeekBand-IOS进阶第一周笔记(view 的层次结构、事件处理)_第3张图片
view-CRUD.png

view的重要属性

  1. .frame、.bounds、.center、.transform(控制平移、旋转、缩放等属性,提一下,在这个view中其他子view或者行为是在transfrom发生之后的视图里绘制的。)
  2. -resizeToFit方法,使view的大小根据它自己的内容调整
  3. .alpha,该属性表明view的半透明程度(0.0~1.0),为0时完全透明也不响应事件;.opaque(BOOL),为NO时是不透明的,如果alpha值不为1,opaque的值也不能为YES,注意逻辑关系。
  4. . maskView,这个属性接收一个UIView对象,这个对象作为一个模板,如果该对象.alpha为不透明的,会把当前view裁剪;透明的就直接显示原view;半透明,它们颜色会混合。
  5. .tag,每个view可以设置一个tag属性,为整数,我们可以通过viewWithTag的方法便捷访问该view。(不推荐使用,影响程序的可读性)
  6. .tintColor,用来调色,当这个属性被设置后,所有在该view上的子view沿用tintColor的调色
  7. UIAppearance


    GeekBand-IOS进阶第一周笔记(view 的层次结构、事件处理)_第4张图片
    UIAppearance.png

事件处理

事件

什么是事件?触摸、摇动、线控等,这些对设备发出的操控信号我们称之为事件。


GeekBand-IOS进阶第一周笔记(view 的层次结构、事件处理)_第5张图片
事件分发过程.png

NSRunLoop

监听事件源,包括系统的、custom和计时器的,然后接收系统touchEvent对象,通过主线程,包装成UIEvent的对象发送给当前程序,再到当前keyWindow,最后是具体响应这些事件的对象UIResponder


GeekBand-IOS进阶第一周笔记(view 的层次结构、事件处理)_第6张图片
NSRunLoop.png

UIResponder

它是UIWindow、UIViewController、UIView的父类,为子类提供以下接口


GeekBand-IOS进阶第一周笔记(view 的层次结构、事件处理)_第7张图片
UIResponder.png

Responder有.nextResponder属性,指向下一个Responder,然后对于First Responder,有特别的一些方法


GeekBand-IOS进阶第一周笔记(view 的层次结构、事件处理)_第8张图片
First Responder.png

分别是判断是不是第一个Responder,可不可以成为第一个Responder,成为第一个Responder,取消第一个Responder。

你可能感兴趣的:(GeekBand-IOS进阶第一周笔记(view 的层次结构、事件处理))