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

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

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

 首先是大家最常使用的新增和移除 Subview。
//将Subview从当前的UIView中移除
[Subview removeFromSuperview];   

//替UIView增加一个Subview
[UIView addSubview:Subview];
 在 UIView 中将 Subview 往前或是往后移动一个图层,往前移动会覆盖住较后层的 Subview,而往后移动则会被较上层的 Subview 所覆盖。
//将Subview往前移动一个图层(与它的前一个图层对调位置)
[UIView bringSubviewToFront:Subview];   

//将Subview往后移动一个图层(与它的后一个图层对调位置)
[UIView sendSubviewToBack:Subview];
 在 UIView 中使用索引 Index 交换两的 Subview 彼此的图层层级。
//交换两个图层
[UIView exchangeSubviewAtIndex:indexA withSubviewAtIndex:indexB];
 使用 Subview 的变数名称取得它在 UIView 中的索引值(Index )。
//取得Index
NSInteger index = [[UIView subviews] indexOfObject:Subview名称];
 替 Subview 加上 NSInteger 的註记 (Tag),好让之后它们分辨彼此。
//加上註记
[Subview setTag:NSInteger];
 最后是取得 UIView 中所有的 Subview,呼叫此方法会传回一个 NSArray,并以由后往前的顺序列出这些 Subview,下图中是列出范例图片里 Root 中所有的 Subview。
//取的UIView下的所有Subview
[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]
}
时间: 2024-12-08 20:48:03

一些 UIView 中管理 Subview 常用的方法的相关文章

ios 开发日记 9 - 一些 UIView 中管理 Subview 常用的方法

一些 UIView 中管理 Subview 常用的方法 (2013-01-22 10:04:40) 标签: ios subview it 分类: 關于IOS學習 一些 UIView 中管理 Subview 常用的方法 一个 UIView 里面可以包含许多的 Subview(其他的 UIView),而这些 Subview 彼此之间是有所谓的阶层关系,这有点类似绘图软体中图层的概念,下面程式码示演示了几个在管理图层(Subview)上常用的方法,其程式码如下. 首先是大家最常使用的新增和移除 Sub

jQuery中一些不常用的方法属性【转载】

index(subject) 搜索与参数表示的对象匹配的元素,并返回相应元素的索引值.如果找到了匹配的元素,从0开始返回:如果没有找到匹配的元素,返回-1. data() data(elem):为页面对象添加唯一标识. data(name, value):将数据保存在元素的一个key里面.$("#box").data("shape","rectangle"). data(name):获取值.$("#box").data(&qu

javascript中字符串对象常用的方法和属性

前言 字符串是一种非常重要的数据类型,在Java等面向对象编程语言中,它代表对象类型,而在javascript中它却是一种基本数据类型,在开发的领域中,我们经常会碰到,无论是前端还是后台.比如后台验证手机号码,将手机号码的后四位变成*,这些都是对字符串的处理.所以学会字符串中常用的属性和方法是非常必要的,本篇博客将带你解析字符串常用的属性和方法.那么一起来看看吧! 字符串常用的属性和方法 属性 length:返回字符串的长度 方法 chatAt():返回在指定位置的字符 charCodeAt()

JAVA中几个常用的方法

类Object是类层次结构的根类,每一个类都使用Object作为超类,所有对象(包括数组)都实现这个类的方法.jdk1.5中,描述了该类中的11个方法 1.getClass public final Class<? extends Object> getClass() 返回一个对象的运行时类.该 Class 对象是由所表示类的 static synchronized 方法锁定的对象. 返回: 表示该对象的运行时类的 java.lang.Class 对象.此结果属于类型 Class<? e

javascript中最最最常用的方法封装

javascript 常用方法的封装,小编持续升级中... 方法封装(js原生): 一.Object 类型 MHQ.ajaxUtils 定义一个ajax工具类 ajax 定义一个ajax工具函数 get 方法 post 方法 MHQ.elementUtils DOM元素工具类 replaceClassName 替换字符串,设置className属性 getInnerText 获取DOM元素内部文本的兼容方法 setInnerText 设置DOM元素内部文本的兼容方法 getNextElement

Java多线程入门中几个常用的方法

一.currentThread()方法 currentThread方法就是返回当前被调用的线程. 该方法为一个本地方法,原码如下: /** * Returns a reference to the currently executing thread object. * * @return the currently executing thread. */ public static native Thread currentThread(); 可以看出他返回的是一个线程对象. 下面来看一个列

项目开发过程中,一些常用的方法

以下一些在开发过程中封装的常用方法,供参考由于一些方法是很久之前写下来的,语法上比较旧,再使用的时候再进行修改//获取当前时刻的时间 // type = 1年月日,type=2时分秒,fommatter="-"表示年月日用-隔开,否则用"/"隔开 export function curTimeFun(type,fommatter) { const myDate = new Date(); const year = myDate.getFullYear()>9?

Delphi中TStringList类常用属性方法详解

//TStringList 常用方法与属性: var List: TStringList; i: Integer; begin List := TStringList.Create; List.Add('Strings1');           {添加} List.Add('Strings2'); List.Exchange(0,1);             {置换} List.Insert(0,'Strings3');      {插入} i := List.IndexOf('String

python 中string类常用的方法

string                            aStr string.capwordsaStrspWord string.splitaStrspWord string.joinspWordrole string.maketrans, aStr aStr.translaterolevalue t string.Templatep t.substitutevaluep