应用启动时加载视图

时间:2011-12-01 13:57:04

标签: iphone objective-c xcode view

我想创建一个只有一个视图的应用程序(TestViewController.h TestViewController.m)。 (没有Tabbar,没有导航栏)不知道为什么我启动应用程序后,屏幕是完全黑色的。似乎应用程序没有成功加载视图?因为如果加载视图,屏幕应该是白色的。我是对还是不对?

这是AppDelegate.h

#import <UIKit/UIKit.h>
@class TestViewController;
@interface AppDelegate : UIResponder <UIApplicationDelegate>
{
    UIWindow *window;
    TestViewController *testrViewController;   
}
@property (strong, nonatomic) UIWindow *window;
@property (strong, nonatomic) TestViewController *testViewController;

@end

这是AppDelegate.m

#import "AppDelegate.h"
#import "TestViewController.h"

@implementation AppDelegate

@synthesize window = window;
@synthesize testViewController;

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
    [self.window addSubview:testViewController.view];
    [self.window makeKeyAndVisible];
    return YES;
}

3 个答案:

答案 0 :(得分:3)

在我看来,你并没有实例化课程

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
 // add this line
 testViewController = [[TestViewController alloc] init];
 [.....]
 }

希望有所帮助

答案 1 :(得分:2)

如果您以编程方式创建它,那么您还应该实例化window

UIWindow *aWindow = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
self.window = aWindow;
[aWindow release];

然后是你的ViewController

testViewController = [[TestViewController alloc] init];

然后让它可见

[self.window addSubview:testViewController.view];
    [self.window makeKeyAndVisible];

答案 2 :(得分:0)

你为testViewController创建了.xib吗?如果没有,那么你必须在testViewController上添加一个子视图。然后试试。我希望它能奏效。

UIView *testView=[[UIView alloc]initwithFrame:CGRectMake(0,0,320,480)];

[testViewController addsubview:testView];
[self.window addSubview:testViewController.view];
[self.window makeKeyAndVisible];