zoukankan      html  css  js  c++  java
  • ios 开发日记 9

    一些 UIView 中管理 Subview 常用的方法

     (2013-01-22 10:04:40)
    标签: 

    ios

     

    subview

     

    it

    分类: 關于IOS學習

    一些 UIView 中管理 Subview 常用的方法

     

     一个 UIView 里面可以包含许多的 Subview(其他的 UIView),而这些 Subview 彼此之间是有所谓的阶层关系,这有点类似绘图软体中图层的概念,下面程式码示演示了几个在管理图层(Subview)上常用的方法,其程式码如下。

     

     首先是大家最常使用的新增和移除 Subview。

    1. //将Subview从当前的UIView中移除   
    2. [Subview removeFromSuperview];   
    3.   
    4. //替UIView增加一个Subview   
    5. [UIView addSubview:Subview];  

     在 UIView 中将 Subview 往前或是往后移动一个图层,往前移动会覆盖住较后层的 Subview,而往后移动则会被较上层的 Subview 所覆盖。

    1. //将Subview往前移动一个图层(与它的前一个图层对调位置)   
    2. [UIView bringSubviewToFront:Subview];   
    3.   
    4. //将Subview往后移动一个图层(与它的后一个图层对调位置)   
    5. [UIView sendSubviewToBack:Subview];  

     在 UIView 中使用索引 Index 交换两的 Subview 彼此的图层层级。

    1. //交换两个图层   
    2. [UIView exchangeSubviewAtIndex:indexA withSubviewAtIndex:indexB]; 

     使用 Subview 的变数名称取得它在 UIView 中的索引值(Index )。

    1. //取得Index   
    2. NSInteger index = [[UIView subviews] indexOfObject:Subview名称];   

     替 Subview 加上 NSInteger 的註记 (Tag),好让之后它们分辨彼此。

    1. //加上註记   
    2. [Subview setTag:NSInteger];   

     最后是取得 UIView 中所有的 Subview,呼叫此方法会传回一个 NSArray,并以由后往前的顺序列出这些 Subview,下图中是列出范例图片里 Root 中所有的 Subview。

    1. //取的UIView下的所有Subview   
    2. [UIView subviews]

    addSubview和insertSubview的区别

    addSubview 是将view加到所有层的最顶层

    相当于将insertSubview的atIndex参数设置成view.subviews count

    [view addSubview:oneview] == [view insertSubview:oneview atIndex:view.subviews count]

    addSubview是加到最后
    insertSubview是加到指定的位置
     

    如果要移除一个 UIView 的所有子视图,SDK 里没有 remove all 之类的方法。可以用 for loop 循环调用 – removeFromSuperview 来移除

    例如:

    for(UIView *view in [self.view subviews])
    {
       [view removefromsuperview]
    }

     
  • 相关阅读:
    如何判断 DataRow 中是否存在某列????
    jquery操作table中的tr,td的方法双击dblclick attr parent id原创
    oracle 取当天日期减一天 应该如何写
    走出“搜索引擎营销”三个误区
    解决方案是什么
    强制远程连接 命令
    ORACLE 异常错误处理
    HttpClient是否有默认并发数限制?
    多线程下载程序的功能需求
    STL线程库简介
  • 原文地址:https://www.cnblogs.com/nngh/p/4832449.html
Copyright © 2011-2022 走看看