2012-09-04 65 views
0

根據某些應用程序設置更改在應用程序啓動時加載的XIB View的正確方法是什麼?當然,我知道如何獲得我需要的所有設置。更改XIB在應用程序啓動時查看

+0

你是如何在應用程序啓動時加載xib的? – deanWombourne

+0

你使用兩個xib視圖嗎?或只是一個,你只是想在應用程序啓動時修改xib的元素? – janusbalatbat

+0

2個不同的xib視圖。 – user1561346

回答

1

在應用程序的委託,在方法

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions 
{ 
if(yourSettings) 
    myViewController = [[MyViewController alloc] initWithNibName:@"FirstNibName" bundle:nil]; 
else 
    myViewController = [[MyViewController alloc] initWithNibName:@"SecondNibName" bundle:nil]; 
self.window.rootViewController = self.myViewController; 
[self.window makeKeyAndVisible]; 
return YES; 
} 

就是這樣。可能您可能想將您的設置保存在用戶默認設置中,以便您可以正確加載視圖。

但是,我會使用2個不同的視圖控制器,因爲您可能希望它們做不同的事情,而不僅僅是修改某些圖形。

EDIT-

讓我看看我是否理解。您將始終加載第一個視圖控制器,並且如果滿足某些條件,您希望呈現第二個視圖控制器,該視圖控制器將在某個時間點被解散,並將用戶返回到第一個視圖控制器。如果是這種情況,我建議你將代碼移到你的第一個視圖控制器中,在viewDidLoad中,或者更好的是在viewDidAppear中,因爲這個視圖控制器總是會被加載。用這種方式,用戶也可以看到他最終會轉到該視圖控制器。我在用戶需要登錄的應用程序中使用類似這樣的內容,以便在他登錄之前無法繼續使用它。

我不能說這是做這件事的正確方法,因爲它取決於程序員他是如何安排他的代碼的,但是在我看來,控制着什麼視圖以及它出現的位置屬於一個視圖控制器,而不是委託,特別是考慮到你的第一個視圖控制器總是被加載。應該由該視圖控制器來確定它是否呈現第二個。

+0

我使用不同的視圖控制器。 :) – user1561346

相關問題