一個 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]
很好的教材,感谢。:P
回覆刪除