根据Apple的指南,iPhone应用程序的启动图像/启动画面应该是预呈现的静态图像,看起来类似于应用程序的第一个屏幕。
以下是Apple有关此文档的一些链接:
1)启动图像,iOS人机界面指南:
2)应用程序启动(默认)图像,iOS应用程序编程指南:
我只是想知道如何轻松创建这样的启动图像。在大多数情况下,似乎启动图像应该是空状态栏+导航栏+空表/视图+标签栏的组合,并且每个应该使用iOS的预定义颜色方案进行渲染。
但我找不到任何关于我应该怎么做的文档,也找不到与Xcode相关的任何条目。是否有Apple的官方工具可以轻松渲染启动图像?或者所有的应用程序开发人员只是使用一些模型iPhone控件+ Photoshop来做到这一点?
感谢任何帮助。感谢。
答案 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故事板中执行此操作的步骤:
将空视图控制器从“对象库”拖到故事板
根据您的初始屏幕布局,将空导航栏/表格视图/标签栏/其他组件添加到上面的新场景
单击故事板中的视图控制器,在视图控制器的“属性检查器”中,有一个名为“初始场景:是初始视图控制器”的复选框。检查一下。
在Xcode中启动应用程序,您应用程序的初始屏幕将设置为您刚刚创建的应用程序。截取屏幕截图并将其用作启动图像。
通过选中“初始场景”复选框,将初始场景设置回真实的初始场景。
我仍然会将Sebastian Wramba的解决方案标记为我的问题的答案,因为一般的想法是相同的,只需在Xcode中为它创建一个专用的UI。
答案 3 :(得分:1)
满足您需求的最简单的解决方案 - 启动您的应用程序,获取初始状态的屏幕截图(设备上的主页+电源按钮),瞧!你有自己一个很好的png文件,其中包含你的初始应用程序状态和Apple的配色方案。
答案 4 :(得分:1)
我在调试版本中输出我的数据源,以便应用程序启动为空,然后构建并运行它,并截取空应用程序的屏幕截图。为了建议用户稍微等一下,我可能会使用photoshop覆盖我的商标图片或部分阻止最明显控件的一些启动徽标。如果它是一个有趣的应用程序,我可能还会在应用程序开始运行时为这些徽标图标的副本设置动画。
答案 5 :(得分:0)
比这更容易。将要放置的图像拉出为手机上的闪屏。将图像保存到相机胶卷。在相机胶卷中打开图像。点击图像即可获得全屏视图。拍一个屏幕截图。通过电子邮件将该图像发送到您的计算机。将文件的结尾从PNG更改为png,我知道这很糟糕:)将图像添加到Launch Image区域。瓦拉! ;)
答案 6 :(得分:0)
您可以使用iOS 8启动屏幕XIB使用模拟器生成静态启动图像,如果您支持iOS 7或更早版本,则可能需要执行此操作。
对您需要支持的每个设备重复此过程。您可能必须使用图像编辑器从屏幕截图中删除状态栏。
答案 7 :(得分:0)
如果您需要一个带导航栏和标签栏的简单启动屏幕,我的建议是使用启动文件。在iOS 8及更高版本中,您可以创建XIB或故事板文件,而不是静态启动图像。
您可以在下一个链接中阅读更多相关信息: https://developer.apple.com/library/ios/documentation/UserExperience/Conceptual/MobileHIG/LaunchImages.html
答案 8 :(得分:0)
我设置以上所有内容。但是再次调试时它不起作用。我从模拟器和iPhone中删除了应用程序并立即工作