zoukankan      html  css  js  c++  java
  • iOS UIView视图的图层控制

    1、添加视图

         insertSubview:atIndex:   //放在子视图数组的具体索引位置

         insertSubview:aboveSubview:   //某个子视图前面

         insertSubview:aboveSubview:   //某个子视图前面

    2、重新排序和删除子视图

          [parentView exchangeSubviewAtIndex:i withSubviewAtIndex:j]//交换两个视图的位置

          bringSubviewToFront:和sendSubviewToBack://将子视图提前活置后

          [childView removeSuperview]//删除某个视图的子视图

    3、视图回调

       某个视图的层次一改变,该视图就会收到一次回调。

       a、调用addSubivew:成功后会给该视图发送didAddSubivew:回调,触发UIView的子类在心增视图时执行其他操作。

       b、didMoveToSuperview:会通知相关视图他们的上级视图已经变化。

       c、视图移动前会发出willMoveToSuperview:回调

       d、didMoveToWindow:回调和didMoveToSuperview:相似,从命名上能看出其区别。

       e、willMoveToWindow:在视图移动前发出的回调。

        f、willRemoveToSubview:回调通知父视图子视图即将被删除


    UIView掌管直接屏幕绘图。他的drawRect:方法提供一种低级方式来直接绘制内容,允许使用Quartz 2D调用创建和显示任意元素,可将这两个元素结合起来共同构建具体、可操作的界面。

    当用户触摸屏幕时,Touchview类收集一系列点,在每个触摸移动之处,touchesMoved:WithEvent:方法调用setNeedsDisplay。这又会触发对drawRect:方法的调用,其中视图将这些点绘制成线段来创建一个可视屏幕路径。


    UIView类的很多属性都被设计为可动画的(animatable)。可动画的属性是指当属性从一个值变为另一个值的时候,可以半自动地支持动画。您仍然必须告诉UIKit希望执行什么类型的动画,但是动画一旦开始,Core Animation就会全权负责。UIView对象中支持动画的属性有如下几个:

        frame

        bounds

        center

        transform

        alpha

    边框、边界、和中心的关系

    视图对象通过frame、bounds、和center属性声明来跟踪自己的大小和位置。frame属性包含一个矩形,即边框矩形,用于指定视图相对于其父视图坐标系统的位置和大小。bounds属性也包含一个矩形,即边界矩形,负责定义视图相对于本地坐标系统的位置和大小。虽然边界矩形的原点通常被设置为 (0, 0),但这并不是必须的。center属性包含边框矩形的中心点。

  • 相关阅读:
    JAVA GUI设
    3.4 jmu-java-随机数-使用蒙特卡罗法计算圆周率的值 (10 分)
    问题:关于2.3 jmu-Java-02基本语法-03-身份证排序 (9 分)
    关于3.1 jmu-Java-03面向对象基础-01-构造函数与toString (3 分)
    linux vim文件编辑的常用命令
    linux的常用命令
    linux文件存储方式
    第一个java
    hdu 2795
    hdu 1394
  • 原文地址:https://www.cnblogs.com/Free-Thinker/p/11196566.html
Copyright © 2011-2022 走看看