【问题标题】:Programming For Both iPhone Screen Sizes [duplicate]两种iPhone屏幕尺寸的编程[重复]
【发布时间】:2012-10-30 04:35:29
【问题描述】:

可能重复:
iOS 6 apps - how to deal with iPhone 5 screen size?
Same xib for iPhone4 and iPhone5 possible?

我一直在制作我的应用程序,并且一直使用 iPhone 5 的屏幕尺寸。我完全忘记了 iPhone 4,我什至拥有它,愚蠢的我……我该怎么做呢?现在我已经为 iPhone 5 编写了代码,我的代码将如何在两种屏幕尺寸上工作?

这是我遇到的那种问题的模型。在第二张图片中,滑块在较小的设备上被切断了屏幕

【问题讨论】:

  • 您是否尝试过简单地使用 3.5 英寸模拟器,看看会发生什么? ;-)
  • 是的,我认为像 UITableView 这样的一些原生控件会自动调整大小。
  • @LombaX yupp 哈哈,这根本不是个好时机。我的许多对象都在屏幕外:/
  • 这里有类似的东西:stackoverflow.com/questions/12702546/…也许是重复的?
  • 我想我们有一个 dup:stackoverflow.com/questions/12396545/…。我会这样标记它。

标签: iphone xcode screen


【解决方案1】:

我能给你的最好建议是在你的 XIB 上尝试自动调整大小/自动对齐设置。这是避免为每个设备设置单独视图的最佳选择。

在您提供的示例中,您可以使用 Xcode 中的设置,如下所示:

调整它们,使滑块的原点位于屏幕底部。调整每个 UI 元素的设置,直到一切正常。

【讨论】:

  • 非常感谢!我已经搞砸了这些设置,现在他们已经完成了这项工作。我真的很感激!
【解决方案2】:

你能做什么完全取决于你如何定义你的界面和你的 UI 是什么样的。

如果您在 Interface Builder/Storyboard 中创建了 UI,您可以尝试查看所有控件和视图指标设置。这方面的两个主要提示:

  1. 很可能通过仔细选择自动调整大小的行为,您可能会得到一些改进。对于某些元素,您可能需要固定与屏幕边缘的距离,对于其他元素,您可能需要设置灵活的宽度和高度:这很大程度上取决于您的 UI。

  2. 控制相关 UI 元素正确定位的一种好方法是将它们分组到一个超级视图中,然后您可以通过保留这些元素的相对位置来置换或缩放(为其分配灵活的宽度或高度)。

如果您在代码中定义了界面,您应该检查您定义所有位置和尺寸的方式,而不是将它们设置为绝对值,您可以将它们重新编码为屏幕尺寸的百分比。

我在我的应用程序中使用了这两种技术,都支持 iPhone4/5 和 iPhone/iPad。 无论如何,这是一些工作。这可能是很多工作,也可能只是一些工作,具体取决于您的应用 UI 中出现的问题。

如果您正在寻找自动解决此问题的方法,请尝试将缩放转换应用于您的主视图(例如,在您的应用委托中):

window.rootViewController.view.transform = CGAffineTransformMakeScale(1.0, 0.84);

我不确定这是否会起作用,但在最好的情况下,我认为这会更适合用于感觉无法自动修复的事实。

【讨论】:

  • 如果我在尝试理解这一点时看起来有点慢,我很抱歉......因为我是一个相当新的开发人员,当这个新的屏幕分辨率出现时我真的很困惑。不是为了更大的发展,而是缩小到更小的规模以吸引 iPhone 4/4S 市场和 iPhone 5 市场。
  • 别担心,慢慢来。您将需要尝试几件事。也许您可以先快速了解一下transform 方法,但您永远无法知道它是否适用于特定的 UI。
  • 我不敢说,我不知道变换的方法。我从来不需要处理屏幕方向和大小。那会在文档中吗?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2019-02-24
  • 2015-01-31
  • 2013-01-06
  • 1970-01-01
  • 1970-01-01
  • 2012-04-10
  • 2018-01-07
相关资源
最近更新 更多