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

来源:互联网 发布:沪港通买入十日数据 编辑:程序博客网 时间:2024/04/29 19:09

一些 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]
}

0 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 支座梁体预埋钢板忘记埋了怎么办 做nt小孩头朝下怎么办 简历上传的照片太大怎么办 本科毕业论文没写英文摘要怎么办 气泵储气罐有个小眼漏气怎么办 吸拉开关坏了怎么办 窗口数量已达上限怎么办 村土地原始台账没有怎么办 涂防晒霜后出汗怎么办 张拉千斤顶泄荷回油不到位怎么办 隧道二衬打到一半没混凝土怎么办 在左车道骑电动车撞到车怎么办 电镐钻头卡住了怎么办 玩具机器人无线遥控不了怎么办 电锤锤头卸不下来怎么办 打地基没打出硬土层怎么办 中标的项目经理没有B证怎么办 12306证件被注册过怎么办 政府3p项目不给钱怎么办 电气没考上国网怎么办 小区宽带业务被个人承包怎么办 高铁用户名忘了怎么办 昆山社保号是8位怎么办 高铁票误了时间怎么办 动车票没赶上车怎么办 铁路用户名已存在要怎么办 铁路12306用户名忘了怎么办 铁路12306的用户名忘了怎么办 铁路12306注册名已存在怎么办 12306账号密码忘记了怎么办 12306登录名忘记了怎么办 电脑系统崩溃开不了机怎么办 高铁车票没赶上怎么办 机票错点了退票怎么办 快递号码留错了怎么办 物流号码留错了怎么办 12306身份信息被注册怎么办 12306注册身份信息重复怎么办 12306账号被注册了怎么办 高铁账号忘记了怎么办 铁路12306网站密码错误怎么办