歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux編程 >> Linux編程 >> iOS在其他視圖控制器中轉換根視圖控制器

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

日期:2017/3/1 9:49:50   编辑:Linux編程

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

例如在一個普通的視圖控制器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

Copyright © Linux教程網 All Rights Reserved