在App Delegate Xcode 5中设置视图控制器

时间:2013-10-18 21:06:48

标签: ios objective-c xcode5

我想知道如何在Xcode 5中设置应用程序委托,因为它与以前的版本不同。我希望通用视图控制器文件(ViewController.h和.m)是控制我在我的应用程序委托中设置的rootViewController的文件。这是自动发生还是您需要在代码中执行某些操作?这就是我设置appDelegate.m

的方法
    *(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 Controller成为表视图控制器或其他东西,我是否需要先将它嵌入基本VC中?

2 个答案:

答案 0 :(得分: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 :(得分:0)

  

如果我希望我的rootView Controller成为表视图控制器或其他东西,我是否需要先将它嵌入基本VC?

没有

您可以将任何UIViewController类设置为rootViewController。我假设您在代码中构建viewController层次结构,并且您没有使用InterfaceBuidler。虽然也可以使用Interface构建器,但您可以使用任何viewContorller作为rootviewcontroller,使用storyboard或plain xibs。