ios - Xcode7 上的自动布局

标签 ios autolayout xcode7 adaptive-layout

我在理解 Autolayout 以及它如何对除我之外的其他人来说非常有效时遇到了很多困难。问题是,当他们最终为我解决一个问题时遇到的限制,例如对于 iPad,不符合 iPhone4s 之类的其他设备,因此要么导致约束冲突,要么根本无法按照我希望的方式工作(例如,按钮将出现在文本字段附近在 iPad 上,在 iPhone 上不是很近)。我已经阅读了 Raywenderlich 的 Adaptive Layout 教程 以及 Steven Lipton 关于 Autolayout 的书(Practical AutoLayout),但仍然面临很多麻烦。请帮帮我。它是如此令人沮丧,以至于我想完全放弃编码并最终成为一名僧侣或其他人... x(

编辑

因此,为了进一步帮助您,我将借助一些快照来解释为什么有些事情对我不起作用。我最初的想法是显示 4 个 View ,每个 View 包含一个文本字段,在按下特定按钮时,文本字段将通过 CoreAnimation 过渡。 ViewController 的 View 有一个背景图像、一个后退按钮、4 个 View 、一个进度条和一个显示每个 View 的按钮。问题如下;虽然整个 View 在模拟器上看起来很合适,但我可以在 xcode 的终端中看到冲突。

包含所有元素的图像:

image with all elements

有冲突的图片:

image with conflicts

但不知何故,如果我解决了冲突,自动布局无法在所有设备上按要求运行。例如

没有冲突,但在 iPhone4s 中点击文本字段时隐藏了下一个按钮:

no conflicts but next button is hiding on tap of textfield in iPhone4s

在 iPad 的情况下没有冲突并且下一步按钮非常容易访问:

no conflicts and Next button is very much accessible

我如何才能在所有设备上一致且连贯地处理它。请帮忙谢谢。

最佳答案

需要了解的一点是,AutoLayout 无法解决所有屏幕尺寸相差很大的问题(而且我仍然觉得尺寸类使用起来很麻烦)。我通常坚持为手机和平板电脑使用两个不同的 xib,连接到同一个 View Controller 。如果可以,请放弃对 iOS 7 的支持,这会消除很多与 AutoLayout 相关的令人头疼的问题。

编辑

一定要使用自动布局。我所说的只是,对于截然不同的分辨率,通常最好有两个不同的 xib,但当然在它们中都使用自动布局。

关于ios - Xcode7 上的自动布局,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34178363/

相关文章:

ios - Opentok session 失败

ios - WKWebView 自定义 URL 方案不适用于 https? (混合内容被屏蔽)

swift - 将 Google Admob 横幅固定到 iPhone X 的底部

iOS 静态库 - 是否可以将 AdSupport.framework 包含在我的库中?

IOS 应用已成功上传到 iOS 应用商店,但在 iTunes Connect 中不可见

ios - 如何在 Xcode7 中为特定 Storyboard设置方向?

objective-c - 我可以从 objective-c 中的特定网页中提取内容吗?

ios - 选择行时按下窗口

ios - UIView纵横比混淆systemLayoutSizeFittingSize

ios - 如何使用自动布局在 subview 中创建 UIGestureRecognizer?