簡體   English   中英

防止UIViewController從應用程序包中加載過時的XIB

[英]Prevent UIViewController loading stale XIB from app bundle

我在運輸應用程序中有一個UIViewController子類,該應用程序的UI歷史上是從XIB文件中加載的。

為了解決某些iOS 7兼容性問題,我不得不切換到以編程方式構建此屏幕,因此不再需要XIB,並且已從項目中刪除它並在Xcode中進行了干凈的構建。

但是,當在App Store的版本頂部安裝新版本時,我得到的是雙重UI-看來,將仍然存在於升級包的應用程序捆綁包中的剩余XIB文件將被加載,因為以及我以編程方式創建的版本。

有誰知道如何阻止UIViewController子類加載陳舊的XIB並僅以編程方式創建視圖?

我嘗試在initWithNibName:bundle:實現中暫時注釋掉對[super initWithNibName: nil bundle nil]的調用(我知道這是一件不好的事,只是想盡辦法更好地理解問題),但是沒有幫助。

將我的程序化視圖創建代碼從viewDidLoad移到loadView解決了該問題; 似乎實現此方法使運行時無法尋找要加載的XIB。

不要使用initWithNibName,而是像這樣創建視圖:

myViewController = [[MyViewController alloc] init];

接下來,您可以在viewDidLoad編程方式創建所有UI元素。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM