如何轻松制作iPhone发布图像?

时间:2012-02-08 09:58:34

标签: iphone ios xcode splash-screen

根据Apple的指南,iPhone应用程序的启动图像/启动画面应该是预呈现的静态图像,看起来类似于应用程序的第一个屏幕。

以下是Apple有关此文档的一些链接:

1)启动图像,iOS人机界面指南:

https://developer.apple.com/library/ios/#documentation/UserExperience/Conceptual/MobileHIG/IconsImages/IconsImages.html#//apple_ref/doc/uid/TP40006556-CH14-SW5

2)应用程序启动(默认)图像,iOS应用程序编程指南:

https://developer.apple.com/library/ios/documentation/iPhone/Conceptual/iPhoneOSProgrammingGuide/App-RelatedResources/App-RelatedResources.html#//apple_ref/doc/uid/TP40007072-CH6-SW12

我只是想知道如何轻松创建这样的启动图像。在大多数情况下,似乎启动图像应该是空状态栏+导航栏+空表/视图+标签栏的组合,并且每个应该使用iOS的预定义颜色方案进行渲染。

但我找不到任何关于我应该怎么做的文档,也找不到与Xcode相关的任何条目。是否有Apple的官方工具可以轻松渲染启动图像?或者所有的应用程序开发人员只是使用一些模型iPhone控件+ Photoshop来做到这一点?

感谢任何帮助。感谢。

9 个答案:

答案 0 :(得分:14)

这不会有什么问题,可以组成主屏幕的静态XIB文件(空标签栏,空导航栏)或任何其他内容。只是没有任何元素或标签的背景。

您可以在具有内置屏幕截图功能的iPhone模拟器中启动此“空”应用程序。使用iPhone Simulator Cropper等其他软件,您可以将图像裁剪为首选尺寸。

这将是我做这件事的方法。

答案 1 :(得分:7)

由于我发现删除nib文件中的内容很麻烦,我使用代码方法。

每个项目的代码都不同。但是你会明白这个想法。

// uncomment to take a screenshot for the launch image
//#define SCREENSHOTMODE 

- (void)viewDidLoad {
    [super viewDidLoad];
    /* regular stuff */
#ifdef SCREENSHOTMODE
        self.navigationItem.leftBarButtonItem = nil;
        self.navigationItem.rightBarButtonItem = nil;
        self.title = nil;
        [self deactivateContentForSubviewsInView:self.view];
#endif
}


#ifdef SCREENSHOTMODE
- (void)deactivateContentForSubviewsInView:(UIView *)contentView {
    for (UIView *aView in contentView.subviews) {
        if ([aView isKindOfClass:[UILabel class]]) {
            [(UILabel *)aView setText:nil];
        }
        else if ([aView isKindOfClass:[UITableView class]]) {
            [(UITableView *)aView setDataSource:nil];
        }
        else if ([aView isKindOfClass:[UIToolbar class]]) {
            [(UIToolbar *)aView setItems:nil];
        }
        else if ([aView isKindOfClass:[UIImageView class]]) {
            [(UIImageView *)aView setImage:nil];
        }
        else if ([aView isKindOfClass:[UIView class]]) {
            // i often put views in UIViews to group them
            [self deactivateContentForSubviewsInView:aView];
        }
    }
}
#endif

如果您只有少量对象,则可以直接删除UI元素的内容。没有循环。

答案 2 :(得分:7)

似乎Xcode中没有这样的工具。我最终得到的方法就像Sebastian Wramba上面说的那样略有不同。我使用Xcode 4.2故事板进行我的应用程序的UI设计,这是我在Xcode 4.2故事板中执行此操作的步骤:

  1. 将空视图控制器从“对象库”拖到故事板

  2. 根据您的初始屏幕布局,将空导航栏/表格视图/标签栏/其他组件添加到上面的新场景

  3. 单击故事板中的视图控制器,在视图控制器的“属性检查器”中,有一个名为“初始场景:是初始视图控制器”的复选框。检查一下。

  4. 在Xcode中启动应用程序,您应用程序的初始屏幕将设置为您刚刚创建的应用程序。截取屏幕截图并将其用作启动图像。

  5. 通过选中“初始场景”复选框,将初始场景设置回真实的初始场景。

  6. 我仍然会将Sebastian Wramba的解决方案标记为我的问题的答案,因为一般的想法是相同的,只需在Xcode中为它创建一个专用的UI。

答案 3 :(得分:1)

满足您需求的最简单的解决方案 - 启动您的应用程序,获取初始状态的屏幕截图(设备上的主页+电源按钮),瞧!你有自己一个很好的png文件,其中包含你的初始应用程序状态和Apple的配色方案。

答案 4 :(得分:1)

我在调试版本中输出我的数据源,以便应用程序启动为空,然后构建并运行它,并截取空应用程序的屏幕截图。为了建议用户稍微等一下,我可能会使用photoshop覆盖我的商标图片或部分阻止最明显控件的一些启动徽标。如果它是一个有趣的应用程序,我可能还会在应用程序开始运行时为这些徽标图标的副本设置动画。

答案 5 :(得分:0)

比这更容易。将要放置的图像拉出为手机上的闪屏。将图像保存到相机胶卷。在相机胶卷中打开图像。点击图像即可获得全屏视图。拍一个屏幕截图。通过电子邮件将该图像发送到您的计算机。将文件的结尾从PNG更改为png,我知道这很糟糕:)将图像添加到Launch Image区域。瓦拉! ;)

答案 6 :(得分:0)

您可以使用iOS 8启动屏幕XIB使用模拟器生成静态启动图像,如果您支持iOS 7或更早版本,则可能需要执行此操作。

  1. 创建启动画面XIB。
  2. 在Xcode的项目导航器中选择项目本身,然后在 General>下选择项目。部署信息主界面字段更改为启动屏幕XIB。此步骤将启动屏幕XIB保留在模拟器中,以便您有时间在步骤4中拍摄屏幕截图。
  3. 在模拟器中启动您的应用程序。
  4. 一旦您的启动屏幕出现在模拟器中,请选择文件>保存屏幕截图
  5. 对您需要支持的每个设备重复此过程。您可能必须使用图像编辑器从屏幕截图中删除状态栏。

答案 7 :(得分:0)

如果您需要一个带导航栏和标签栏的简单启动屏幕,我的建议是使用启动文件。在iOS 8及更高版本中,您可以创建XIB或故事板文件,而不是静态启动图像。

您可以在下一个链接中阅读更多相关信息: https://developer.apple.com/library/ios/documentation/UserExperience/Conceptual/MobileHIG/LaunchImages.html

答案 8 :(得分:0)

我设置以上所有内容。但是再次调试时它不起作用。我从模拟器和iPhone中删除了应用程序并立即工作