zoukankan      html  css  js  c++  java
  • UIView如何管理它的子视图

    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:方法的调用,其中视图将这些点绘制成线段来创建一个可视屏幕路径。

  • 相关阅读:
    推荐:负采样
    JNDI学习总结(一)——JNDI数据源的配置
    前端性能优化
    java中的引用类型概念
    java中的各种数据类型在内存中存储的方式
    POI导出EXCEL经典实现
    synchronized 与 Lock 的那点事
    黑马程序员_Map<K,V> 映射关系 Map.Entry
    Java ConcurrentModificationException异常问题
    表 (list)
  • 原文地址:https://www.cnblogs.com/developer-qin/p/5254542.html
Copyright © 2011-2022 走看看