无法在didFinishLaunchingWithOptions中将UIImageView添加到self.window

时间:2013-01-26 20:57:14

标签: ios uiimageview addsubview appdelegate

我试图添加一个UIImageView作为我的Default.png消失后显示的第一个视图。这应该是非常容易的,但由于某种原因,我得到一个黑屏。

// AppDelegate.m

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { 

UIImageView *newimageview = [[UIImageView alloc] initWithFrame:CGRectMake(0, 0, 320, 480)];
[newimageview setImage:[UIImage imageNamed:@"myimage.png"]];


[_window addSubview:newimageview];
[_window bringSubviewToFront:newimageview]; 

}

我还尝试设置newimageview的背景颜色,看看我是不是正确加载了我的图像文件,但屏幕仍然显示为黑色。

任何帮助都会受到赞赏,我此刻感到非常愚蠢。

我刚创建了一个新项目并仅修改了didFinishLaunchingWithOptions方法。这正是我正在使用的代码。我在项目中没有改变任何其他内容:

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
    self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];

    UIImageView *newimageview = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"bg-basketball"]];

    [self.window addSubview:newimageview];
    [self.window bringSubviewToFront:newimageview];

    // Override point for customization after application launch.
    //self.window.backgroundColor = [UIColor whiteColor];
    //[self.window makeKeyAndVisible];
    return YES;
}

我仍然得到相同的黑屏结果。

我已将bg-basketball.png和bg-basketball@2x.png添加到我的项目中,可以在XCode中看到这两个图像。

1 个答案:

答案 0 :(得分:0)

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

self.viewController = [[ViewController alloc] initWithNibName:@"ViewController" bundle:nil];//Add this line

这对我有用。