在不使用资产目录的情况下,如何在iOS应用程序中区分图像使用?

在不使用资产目录的情况下,如何在iOS应用程序中区分图像使用?,ios,objective-c,uiimage,filenames,retina-display,Ios,Objective C,Uiimage,Filenames,Retina Display,这是我的图片(在单独的文件夹中组织) 我使用以下文件结构向我们的应用程序用户显示教程。我对使用以下图片有疑问 我将使用UIImageView显示每个图像。将有三个连续的图像 对于以下代码行:[UIImage imageWithName:@“intro01.png”] 如果它的4或4s应用程序需要intro@2x.png? 如果它的5秒或5秒-应用程序将需要intro@2x.png或介绍~568h@2x.png? 如果它的6或6+应用程序需要intro@3x.png? 5秒或5秒怎么样?因为

这是我的图片(在单独的文件夹中组织)

我使用以下文件结构向我们的应用程序用户显示教程。我对使用以下图片有疑问

我将使用
UIImageView
显示每个图像。将有三个连续的图像

对于以下代码行:
[UIImage imageWithName:@“intro01.png”]

  • 如果它的4或4s应用程序需要intro@2x.png?
  • 如果它的5秒或5秒-应用程序将需要intro@2x.png或介绍~568h@2x.png?
  • 如果它的6或6+应用程序需要intro@3x.png?
5秒或5秒怎么样?因为我已经添加了~568h来区分这些文件,所以我需要在传递图像名称时添加它

如果我的理解有误,请纠正我?也有助于选择合适的形象


谢谢

如果我是你,我会做的就是添加一个资产目录,选择新文件时可以在iOS资源模板中找到,或者它可能已经位于您的xcode项目中。单击资产目录后,添加新的“图像集”。从那里,您可以根据需要拖放@1x、@2x、@3x的图像

这是苹果的文档

对于需要使用的所有图像,请不要使用“无资源目录”:

UIImage backgroundImage = null;

if (UIScreen.MainScreen.Bounds.Height == 480)
    backgroundImage = UIImage.FromFile (@"File/Default@2x.png");
else if (UIScreen.MainScreen.Bounds.Height == 568)
    backgroundImage = UIImage.FromFile (@"File/Default-568h@2x.png");
else if (UIScreen.MainScreen.Bounds.Height == 667)
    backgroundImage = UIImage.FromFile (@"File/Default-667h@2x.png");
else if (UIScreen.MainScreen.Bounds.Height == 736)
    backgroundImage = UIImage.FromFile (@"File/Default-736h@3x.png");
else
//etc for each iPad resolution

View.BackgroundColor = UIColor.FromPatternImage(backgroundImage);
使用时,它可以自动化命名过程(以及许多其他事情)


谢谢,维恩,我知道这件事。但我不想使用资产目录,还是可以自己组织?为了使我的自我更加透明,我编辑了这个问题的标题。我可以推荐使用。我从来没有亲自使用过它,但是一个与我一起从事自由职业项目的开发人员使用过它,并告诉我它很酷。谢谢Kean,我知道这些东西。但我不想使用资产目录,还是可以自己组织?为了使我的自我更加透明,我编辑了这个问题的标题。“但我不想使用资产目录”-您应该:)