UIView 子介面的處理

2021-07-05 07:21:09 字數 1521 閱讀 5667

1.加入乙個 uiview

-(void) addsubview:(uiview *) view;
加入後的uiview會一層層地覆蓋在父介面上,例如:

uiview *parenview = [[uiview alloc] initwithframe:frame];

uiview *viewa = [[uiview alloc] initwithframe:frame];

uiview *viewb = [[uiview alloc] initwithframe:frame];

[parenview addsubview:viewa];

[parenview addsubview:viewb];

2.將本身從上一層的uiview內刪除

-(void) removefromsuperview;
如果某個uiview 已經不需要用了,可以直接從父介面刪除,節省記憶體,例如:

[viewa removefromsuperview]

;

-(void) exchangesubviewatindex:(int) index withsubviewatindex:(int) otherindex;
通過交換兩個uiview的順序,我們就可以做到簡單的介面切換效果,例如:

[parentview exchangesubviewatindex:0 withsubviewatindex:1;
這樣viewa與viewb的順序就調轉過來了,但是需要注意一下索引值的部分,由於所有加入到parentview 內的控制項都會被視為 subview ,所以包括你再設計介面裡加入的按鈕、在內,這些控制項的索引值一定會優先於你使用程式**所加入的子介面,因此,使用程式加入的 subview 不一定是以索引值0開始。

3.將某個uiview帶到前面

-(void)bringsubviewtofront:(uiview *)view;
也可以利用這個方法很快地把某個uiview帶到介面前面,如:

[parentview bringsubviewtofront:viewa]

;

4.uiview的標籤

由於父介面裡面可能包括了很多子介面,再加上介面間的順序可能隨時會改變,這會造成我們需要某個uiview的適合不容易找得到。好在 uiview 提供了乙個很好的方式,讓我們可以為每個 uiview 加上標籤。每個標籤則是以乙個整數來表示, 例如:

viewa.tag = 100

;viewb.tag = 101

;uiview *view = [parentview viewwithtag:100];

結果會得到viewa這個介面。

Map介面的子介面HashMap

hashmap 屬於新的操作類是jdk1.2之後推出的,採用非同步處理方式,效能更高,屬於非執行緒安全的操作類,一般格式為 mapmap new hashmap 這裡的object是結合了 物件導向的多型的特點,map 集合儲存資料的方式都是key,value來進行儲存,實際上就是將資料儲存在了ma...

在介面的子執行緒中操作介面控制項

通常,會有這樣的需求與問題 執行了乙個窗體,觸發某個事件後需要做一些處理,而這個處理可能比較耗時間或者耗資源,如果直接在訊息響應中處理,執行起來介面會假死。這個時候,我們想到了多執行緒,新建乙個子執行緒來處理這個過程,然後將處理的結果告訴介面執行緒,並在介面上體現出來給使用者看。這樣就出現了乙個問題...

UIView的觸控事件處理

void touchesbegan nsset touches withevent uievent event 2 一根或者多根手指在view上移動,系統會自動呼叫view的下面方法 隨著手指的移動,會持續呼叫該方法 void touchesmoved nsset touches withevent...