您的位置:首页 > 产品设计 > UI/UE

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

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

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

C代码


//将Subview从当前的UIView中移除

[Subview removeFromSuperview];

//替UIView增加一个Subview

[UIView addSubview:Subview];

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

C代码


//将Subview往前移动一个图层(与它的前一个图层对调位置)

[UIView bringSubviewToFront:Subview];

//将Subview往后移动一个图层(与它的后一个图层对调位置)

[UIView sendSubviewToBack:Subview];

//在view中指定索引插入一个subView(视图控制器的View)

//在view中插入一个subView(视图控制器的View)
[self.view insertSubview:self.blueViewController.view atIndex:0];


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

C代码


//交换两个图层

[UIView exchangeSubviewAtIndex:indexA withSubviewAtIndex:indexB];

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

C代码


//取得Index

NSInteger index = [[UIView subviews] indexOfObject:Subview名称];

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

C代码


//加上註记

[Subview setTag:NSInteger];

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

C代码


//取的UIView下的所有Subview

[UIView subviews]
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: