iOS启动屏幕提示和技巧

基本启动屏幕实际上太基本了。

创建良好的启动屏幕始终是一个挑战。 在遵守Apple准则的同时创建良好的启动屏幕的挑战更大。 由于Apple推荐的方法实际上是有道理的(至少对我而言),因此让我感到惊讶的是,将其正确设置有多么困难,以及看到它完成有多么罕见。

在本文中,我将简要介绍一些我试图在自定义UI和推荐方法之间寻求平衡的小事情。 公平地说,我不得不说大多数应用程序只是在主题上滑动,而只是将徽标放置在初始屏幕上。 我也做了不止一次。 但是这次我想做到的尽可能接近“按书”。 我将尽力总结一下。

1.人机界面准则-启动屏幕

我不想重写已完成的操作,因为Apple已经在“启动屏幕”指南中有一节。

人机界面准则-启动屏幕

TL; DR

启动屏幕的准则并不长,可以总结为以下几点:

  • 使用情节提要板来简化设计
  • 使它尽可能类似于应用程序的第一个屏幕 -它应该给人一种印象,即应用程序的加载速度比xD实际加载速度快
  • 淡化启动 -如果操作正确,用户甚至在切换应用程序时都不会注意到有一段时间的启动
  • 不要放置文字,因为它不会被本地化
  • 不要将其用作品牌推广的机会,因为这不是它的地方

根据我的经验,最后一点有点死了,很多应用程序都做到了这一点,因此我从未听说过任何审阅问题。

2.想法

概述的要点是我真正想要实现的。 我想制作一个非常轻巧的启动屏幕,实际上是重新组装了应用程序的第一个屏幕。

好吧,这似乎很容易,对吧? 让我们看一下它的外观:

要具有类似于Apple的示例,我应该:

  • 从顶部菜单中删除文本
  • 从标题部分删除文本
  • 从主要部分中删除所有内容

另外,我决定在应用程序加载时不要在屏幕上保留任何“交互”元素,因此所有按钮都将消失。 它看起来像以下之一:

我实际上选择了第二个选项,因为我不想完全放弃品牌。 我也留下了屏幕标题。 它没有本地化,因此不会有问题,它实际上会减少应用程序的启动和第一个屏幕之间的差异。

3.挑战

第一个也是最大的挑战是我们不能使用任何自定义类 。 这意味着将不会执行任何实际代码! 因此,我们必须做的所有事情都可以通过IB进行设置。 另一个限制(一开始对我来说并不明显)是没有自定义运行时属性

导航栏:

另一个挑战是导航栏。 幸运的是,我们可以使用UINavigationController,UITabBarController等,只要我们对它的默认外观(或IB提供的定制级别)满意即可。

就我而言,我正在使用顶部菜单项扩展导航栏(是否注意到情节提要的屏幕截图中的这一行?)。 幸运的是,我能够将空白图像(1个透明像素)设置为导航栏阴影图像。 然后,我可以使用普通的UIView对其进行扩展:

阴影:

无法使用内置阴影-没有可用的阴影层,也没有运行时属性。 这意味着我必须事先生成阴影并将其用作图像。 我刚刚使用了带有“缩放至填充”模式的UIImageView,以及一薄层垂直阴影:

边框:

就我而言,我实际上跳过了边界。 再次,这里的实际问题是没有运行时属性可以在层级别进行设置。 如果需要边框,则必须使用单独的UIView边框。

圆角:

我不得不承认,这给我带来了很多麻烦。 没有自定义的运行时属性,因此我们无法更改任何图层属性。 方法与阴影相同,我们可以只渲染圆角并使用图像而不是绘制。

作为第一种方法,我只生成了4个资产,每个角点一个( @1x @2x @3x ),总共提供了12张图像。 我将它们设置为白色,希望将图像模式设置为“ always template”(总是模板),以便我可以使用色调控制角落的颜色。

不幸的是,由于某种原因,我的角落都忽略了色彩。 我使用这种方法的问题是必须产生的实际资产数量。 为每个角,比例和颜色维护单独的图像(我需要白色和浅灰色)给了很多资产。

事实证明,该解决方案非常简单(至少现在来看)。 当您以更一般的方式看待它时,实际上可以将四个角(在我的情况下,半径为10pt)组合为一张图像。

然后,要解决的最后一件事是如何控制,使用组合图像的哪一部分(以及绘制哪个实际角)。 可以通过将图像视图“内容模式”设置为以下之一来完成:

  • 左上角:左上角
  • 右上角:右上角
  • 左下角左下角
  • 右下角右下角

我不得不承认,这实际上是我第一次使用这种内容模式。

这种将几张图像组合为一个资产或地图集的方法非常普遍,但我从未在iOS中看到过(至少在非游戏环境中如此)。 即使很简单,我还是很高兴找到它it

最终效果如下: