如果我有其在3層對應的功能,即定義了3周不同的觀點:如何確定當前視圖這是對顯示
- (UIView *)getView1 { /*...*/ }
- (UIView *)getView2 { /*...*/ }
- (UIView *)getView3 { /*...*/ }
這些是必需的特定視圖當加入到self.view
。
我的問題是,我們如何知道當前正在顯示哪些視圖?是否有一個參數可以識別哪個視圖是當前視圖?
如果我有其在3層對應的功能,即定義了3周不同的觀點:如何確定當前視圖這是對顯示
- (UIView *)getView1 { /*...*/ }
- (UIView *)getView2 { /*...*/ }
- (UIView *)getView3 { /*...*/ }
這些是必需的特定視圖當加入到self.view
。
我的問題是,我們如何知道當前正在顯示哪些視圖?是否有一個參數可以識別哪個視圖是當前視圖?
您可標記每個視圖與的整數,並且後來讀取標籤,以確定哪些圖是活性(假設要更換self.view
)。
#define TAG_VIEW_1 1
#define TAG_VIEW_2 2
#define TAG_VIEW_3 3
...
[ [self getView1()] setTag:TAG_VIEW_1 ];
[ [self getView2()] setTag:TAG_VIEW_2 ];
[ [self getView3()] setTag:TAG_VIEW_3 ];
...
if (self.view.tag == TAG_VIEW_1) {
// do something
}
else if (self.view.tag == TAG_VIEW_2) {
// etc
}
...
假設當改變他們可以使用[自上海華],以確定哪一個是當前顯示的要刪除從self.view其它兩個視圖。
所有的UIView的時候都被顯示在一個窗口它,當它被刪除設置爲nil被設置一個window property。你可以在窗口屬性的值,看看是否正在顯示在窗口中的視圖:
BOOL isDisplayed = self.view.window != nil;
您還可以覆蓋willMoveToWindow:中的UIView的子類,每當視圖添加到它會被稱爲或從窗口中移除。
如何將視圖添加到self.view?你使用[self.view addSubview:...],如果是這樣,你是否先刪除現有的子視圖?多一點信息會有所幫助。 – 2008-12-17 18:39:43