ios 開發日記 9 - 一些 UIView 中管理 Subview 常用的方法

來源:互聯網
上載者:User

標籤:

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

 

 

ios 開發日記 9 - 一些 UIView 中管理 Subview 常用的方法

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.