你好,歡迎來到IOS教程網

 Ios教程網 >> IOS訊息 >> 關於IOS >> IOS在其他視圖控制器中轉換根視圖控制器

IOS在其他視圖控制器中轉換根視圖控制器

編輯:關於IOS

怎麼在其他視圖控制器中切換根視圖控制器

例如在一個普通的視圖控制器UIViewControler中切換根視圖控制器
1、利用UIApplacation這個類獲取當前應用程序
2、設置委托對象,注意這個委托對象應為Appdelegate的一個對象
3、然後利用委托對象設置根視圖控制器
例:現在要在UIViewControler這個視圖控制器中設置自己為根視圖控制器
1、首先包含頭文件Appdelegate.h
2、獲取當前應用程序

UIApplication *app =[UIApplication sharedApplication];

3、創建一個UIViewControler的對象,並把它設置為委托
AppDelegate *app2 = app.delegate;
4、最後就可以設置根視圖控制器了

app2.window.rootViewController = self;

這樣就把自身視圖控制器作為根視圖控制器了,當然如果想讓別的視圖控制器作為根視圖控制器,那就創建一個其他的視圖控制器,然後作為根視圖控制器,這樣就能夠實現視圖跳轉了。

例如創建了一個繼承於UITabBarControler (標簽欄控制器)的一個視圖控制器 LCTabBarViewControler
為了實現視圖跳轉,想把 LCTabBarViewControler成為新的根視圖控制器。這就很容易實現了

1、首先要包含頭文件 LCTabBarViewControler.h

2、接著上面的第三步

3、創建一個視圖控制器實例
LCTabBarViewControler *temp = [[ LCTabBarViewControler alloc] init]
4、然後如上面第四步,把 self 改為temp就大功告成了

app2.window.rootViewController = temp;

也許你會說為什麼不直接通過添加子視圖subview,來實現視圖跳轉呢,我承認,這樣也可以實現,但是如果是一個標簽欄控制器的話,通過添加視圖的方法就會出錯了,所以才有這種通過改變根視圖控制器的方法,來實現這個視圖跳轉。

這也是我在一個小項目中遇到的問題,感覺值得寫出來根大家分享。同時也寫給自己。

如有錯誤歡迎指正,大家共同學習。 ―― LC

  1. 上一頁:
  2. 下一頁:
蘋果刷機越獄教程| IOS教程問題解答| IOS技巧綜合| IOS7技巧| IOS8教程
Copyright © Ios教程網 All Rights Reserved