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属性包含边框矩形的中心点。

  • 相关阅读:
    Kafka 生产者 自定义分区策略
    同步互斥
    poj 1562 Oil Deposits(dfs)
    poj 2386 Lake Counting(dfs)
    poj 1915 KnightMoves(bfs)
    poj 1664 放苹果(dfs)
    poj 1543 Perfect Cubes (暴搜)
    poj 1166 The Clocks (暴搜)
    poj 3126 Prime Path(bfs)
    处理机调度
  • 原文地址:https://www.cnblogs.com/Free-Thinker/p/11196566.html
Copyright © 2011-2022 走看看