2013-10-18 45 views
1

我想知道如何在Xcode 5中設置應用程序委託,因爲它與之前的版本不同。我希望通用視圖控制器文件(ViewController.h和.m)成爲控制我在我的應用程序委託中設置的rootViewController的文件。這是自動發生還是需要在代碼中執行某些操作?這是我建立了我的appDelegate.m在App Delegate中設置視圖控制器Xcode 5

*(BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions 
{ 
    CGRect viewRect = [[UIScreen mainScreen]bounds]; 
    self.window = [[UIWindow alloc]initWithFrame:viewRect]; 
    UIViewController *viewController = [[UIViewController alloc]init]; 
    self.window.rootViewController = viewController; 
    [self.window makeKeyAndVisible]; 

如果我想我的rootView控制器是一個表視圖控制器或別的東西,我需要首先將其嵌入一個基本的VC?

+0

你使用故事板嗎? – Bot

+0

編程方式,但與故事板做它也是我想知道的東西,因爲Xcode 5現在爲你撲上去' – noobsmcgoobs

回答

5

要以編程方式進行設置,您可以將其設置爲UITableViewController,因爲它是UIViewController的子類。如果要使用已創建的ViewController,只需將.h文件中的子類從UIViewController更改爲UITableViewController,並將tableview代理和數據源添加到.m中。

UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"MainStoryboard" bundle:nil]; 

UIViewController *mainViewController = [storyboard instantiateInitialViewControllerWithIdentifier:@"myViewController"]; 

self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]]; 
self.window.rootViewController = mainViewController; 
[self.window makeKeyAndVisible]; 

,或者如果你想只畫在視圖控制器創建一個類的觀點,併爲此

MyViewController *viewController = [[MyViewController alloc]init]; 
self.window.rootViewController = viewController; 

如果你是想通過故事板來設置你的根視圖,你可以只檢查__Is初始視圖控制器選項

enter image description here

+1

但是,如果你編程地做到了,appDelegate如何知道已經創建的ViewController文件是根?假設我想刪除這些文件並使用另一個文件,或者有多個視圖控制器實例從UIViewController繼承?然後應用程序委託人不知道要使用哪個。 – noobsmcgoobs

+0

@noobsmcgoobs我已更新我的答案 – Bot

0

如果我想讓我的rootView控制器成爲表視圖控制器或其他東西,我需要先將它嵌入到基本的VC中嗎?

號可以設置任何UIViewController類是RootViewController的。我假設你正在代碼中構建viewController層次結構,並且沒有使用InterfaceBuidler。儘管也使用Interface Builder,但您可以使用任何viewContorller作爲rootviewcontroller,可以使用storyboard或簡單的xibs。