2012-10-24 237 views
1

我想知道在xcode中创建新的“单一视图”项目时需要执行哪些步骤,以实现: 1. viewController在没有NIB的情况下初始化,而是以编程方式在其视图中加载它自己的控件。
2.如何让该视图控制器的视图为load并致电viewDidLoad
3.使该控制器的视图在所有控件的屏幕上可见。以编程方式查看控制器?

我如何去了解这个从这个函数:

-(BOOL)application:(UIApplication*)application didFinishLoadingWithOptions:(NSDictionary *)launchOptions 

我想修改一个新的Xcode项目,但我得到的是一个黑色的screeen,viewDidLoad中不会被调用

回答

1

这是您的应用程序委托的应用程序加载方法。

在那里,您可能需要创建自定义视图控制器的实例,并将其作为rootViewController分配给您的应用程序委托didFinishLoading。应该有这样一行:

// app delegate .h file 

#import "CustomViewController.h" 

@interface 
{ 
    ... 
    CustomViewController *myCustomVC; 
    ... 
} 

@property (nonatomic, retain) CustomViewController *myCustomVC; 


// app delegate .m file 
@implementation AppDelegate 

@synthesize myCustomVC; 

-(BOOL)application:(UIApplication*)application didFinishLoadingWithOptions:(NSDictionary *)launchOptions 
{ 
    ... 
    myCustomerVC = [[CustomViewController alloc] init]; 

    [self.window setRootViewController:myCustomVC]; 
    ... 
} 

然后自定义视图控制器的viewDidLoad方法里,你可以做到这一点作为一个测试:

// custom view controller .m file 
-(void)viewDidLoad 
{ 
    self.view.backgroundColor = [UIColor redColor]; 
} 
1
UIViewController *myViewController = [[UIViewController alloc] init]; 
[myViewController.view setFrame:self.view.bounds]; 
[self.view addSubview:myViewController.view]; // if you want to add it in another viewcontroller 

// For testing, set the background color to something other than white (default) 

[myViewController.view setBackgroundColor:[UIColor greenColor]]; 

而你离开!

+0

谁是自己在self.view(3号线)? – Ted

+0

要在其中添加新视图的视图控制器。在一个新的单视图项目中,这将在“ViewController.m”中,例如在viewDidLoad中。 –

+0

这是应该唤醒viewDidLoad? – Ted

1

您需要创建的UIViewController一个子类,并设置您的在loadViewviewDidLoad(取决于定制级别)的视图层次结构

通过子类化UIViewController加载方法调用将为您做出,因此您不必担心关于得到越来越viewDidLoad

为了让屏幕的最简单的方法是在你的应用程序委托,以将其设置为应用程序窗口

rootViewControllerdidFinishLaunchingWithOptions:

self.window.rootViewController = [[MyViewControllerSubclass alloc] init]; 
0

试试这个上可见:

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions 
{ 
    self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]]; 
    HomeViewController *homeVC = [[HomeViewController alloc]init]; 
    [self.window setRootViewController:homeVC]; 
    [self.window makeKeyAndVisible]; 
    return YES; 
} 

从通用主界面删除主(故事板参考)设置: enter image description here

添加启动图像: 而选择的iOS-7在你随后的左上角设置 enter image description here

相关问题