1

我在这里遇到了一个非常哲学的问题。想象一下,我有一个在 iOS 7 上看起来很棒并且严重依赖标准UIKit元素的应用程序设计。UINavigationBar您在当今应用程序中随处可见的著名的“类似 Facebook” ,具有华丽的模糊效果、出色UITabBar的模糊效果以及扁平化设计的整体感觉和外观。

将这种外观移植到 iOS 6 的最佳方式是什么?使用UI7Kit可能是一种选择,但它不会让我们摆脱“20-px 状态栏问题”并且可能会出现问题。使用自定义 UIControls(实际上是其中的 2 个 - 一个用于 iOS6,另一个用于 iOS 7)很好,管理起来相当繁重。

那么最好的方法是什么?

4

2 回答 2

2

这完全取决于您可以投入多少资源来支持传统。这总是这些问题的来源。

然而,最终,考虑到 iOS 版本的快速采用率,尤其是 iOS7,我首先建议支持 iOS7 并确保那里的一切看起来都很棒。如果您专注于使用原生 UIKit 小部件,那么向后移植应该不会那么困难。诚然,您仍然需要担心诸如“20状态栏问题”之类的问题,但是使用自动布局和开发人员工具可以修复很多问题,或者至少可以大大减少这些问题。

使用 UI7Kit 之类的东西很有趣。我认为最重要的是,这是一个哲学问题。如果您计划在 iOS7 上使用相对原生的外观和感觉,您是否应该让您的用户完全脱离原生的外观和感觉?请记住,就像传统的外观和感觉在现代外观和感觉中完全格格不入一样,反之亦然。考虑某人的设备无法升级到 iOS7。这个人没有做出不升级的有意识的选择——他不能。这个界面会很奇怪。除了这个困境之外,根据经验,像 UI7Kit 这样的实用程序工作得很好,直到你遇到一个他们没有的特定情况,你要么不得不自己修复一些东西,打开一个问题并希望得到解决,要么不得不改变你的设计以适应技术限制。您提到您发现管理两个自定义控件很繁重,这将被视为“母负载”。这绝不是对 UI7Kit 中所做的事情的否定。我认为这个项目,从纯粹的技术角度来看,是非常有趣和有趣的观看开发。只是它也相当复杂,还缺少很多功能。

总结一下并发表我的观点,我认为我倾向于尽可能地为两个世界提供原生体验,同时将开发工作集中在 iOS7 上。从历史上看,iOS 的采用率是两倍。最大的批量安装一个新版本的操作系统发布后不久。第二,一旦越狱可用,相当多的人会安装新版本。无论如何,六个月后,您将看到新操作系统的市场份额超过 80%。

于 2013-10-12T00:53:01.197 回答
1

使用 UI7Kit 的 20px 状态栏解决方法

  1. 在界面生成器中选择视图控制器。
  2. 勾选“使用全屏(已弃用)
  3. 取消选中“在顶部栏下”
  4. 取消选中“在底部栏下”

如果您不使用界面生成器,请在代码中尝试相同的操作。

这次改动之后,

  1. 您的视图控制器具有类似 iOS6 的导航栏和标签栏行为,除非您有导航栏
  2. 您的视图控制器不会保留没有任何导航栏的状态栏区域。无论如何,您现在可以将其安装为全屏。
于 2013-10-14T19:17:27.103 回答