-4

我试图将用作启动图像的图像显示为背景,并在启动和第一个视图之间淡入淡出。我“选择”我要使用的图像,如下所示:

NSString *defaultImageName = @"Default.png";
CGFloat imageScale = [[UIScreen mainScreen] scale];
CGSize imageSize = [[UIScreen mainScreen] applicationFrame].size;
if (imageScale > 1) {
    if (imageSize.height < 500) {
        defaultImageName = @"Default@2x.png";
    } else {
        defaultImageName = @"Default-568h@2x.png";
    }
}
backimg = [UIImage imageNamed:defaultImageName];
UIImageView *backgroundImage = [[UIImageView alloc] initWithImage: backimg];
[self.view addSubview:backgroundImage];
[self.view sendSubviewToBack:backgroundImage];

可悲的是,图像没有全屏显示,而是按比例显示: 错误的

代替

正确的

任何人都可以帮忙吗?

更新#1:
使用解决[backgroundImage setFrame:CGRectMake(0, 0,self.view.frame.size.width , self.view.frame.size.height)];

4

2 回答 2

2
  1. 创建图像视图并设置框架以填满整个屏幕。
  2. 设置imageView的图片
  3. 将 imageView 设置contentMode为居中。

您不需要使用 if 语句来确定要使用的图像。只需使用[UIImage imageNamed: @"Default"]. 拥有@2x-568h足以让 UIImage 使用正确的文件。

于 2013-06-03T21:14:55.103 回答
0

获取图像使用

[[UIImage alloc]initWithContentsOfFile:[[NSBundle mainBundle] 
                           pathForResource:@"xxx" ofType:@"png"]] 

代替

[UIImage imageNamed: @"xxx"]
于 2017-07-07T06:18:02.413 回答