IOS Xcode11設定根控制器的新方式

2022-09-09 18:21:14 字數 1220 閱讀 1961

工作上要用到了,於是我在網上找了找別人寫的解決方法,自己嘗試了其中一種

首先我採用的是在scenedelegate中寫根控制器

步驟在info.plist 先將main storyboard file base name 一項刪除,直接把key和value都刪掉

(最後一步,是刪掉main.storyboard,這個我不確定到底刪不刪,反正我是刪了成功的,可以自己試一試)

然後就是**了,注意建立uiwindow的方式稍微變了一點點,不是用原來的uiscreen  mainscreen

1 nslog(@"

willconnecttosession");

2 self.window = [[uiwindow alloc] initwithwindowscene:(uiwindowscene *)scene];

5 self.window.rootviewcontroller =n**;

6 [self.window makekeyandvisible];

第二種方式

在第一種方式之下,後來發現在13一下的系統裡,用scenedelegate設定根控制器,黑屏,沒辦法,只好嘗試網上說的刪除scenedelegate

發現可以使用在13以下的機子上

))

else

return

nil;

}))

當然了,由於我第二中方式是在第一步之後改的。,如果直接選擇第二種方式,刪不刪鍵值對大家可以先跳過,先把**改了,看看結果再選擇是否選擇刪除,結合網上其它人寫的看看

最後發現如果刪除了scene好像又不能兼顧13以下的系統

最後採用了儲存兩者的方式.(plist裡該刪除的鍵值對還是要刪的,mainstoryboard也刪掉)

if(@**ailable (ios 13.0,*))

else

return yes;

scenedelegate的willconnectosession方法中寫

self.window = [[uiwindow alloc] initwithwindowscene:(uiwindowscene *)scene];

self.window.rootviewcontroller =n**;

[self.window makekeyandvisible];

相當於寫了兩遍,反正這樣是解決了,雖然我還沒弄清具體為什麼……

IOS切換根控制器

專案中,經常會用到切換根控制器,常見的就是登入註冊在乙個導航欄下面進行,其它若干頁在另外乙個導航欄標 籤欄下進行。來回切換控制器時,如果只是很機械是的切換,頁面之間救護看起來就很生硬,這時加點效果就顯得很有必要了。bool oldstate uiview areanimationsenabled 下...

iOS更改工程的根控制器

在xcode 6之後建立工程時找不到建立空白工程的選項了。但是這種建立出來的工程的啟動根控制器是預設為viewcontroller的。要想要更改程式啟動的根控制器就要使用以下方法來操作 以下使用rootviewcontroller來替代viewcontroller 方法一 import rootvi...

springmvc 設定控制器為首頁。

在web.xml中 index 在springmvc的配置xml中 bean class org.springframework.web.servlet.view.internalresourceviewresolver property name suffix value jsp property...