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
最终效果如下: