我在理解 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 的终端中看到冲突。
包含所有元素的图像:
有冲突的图片:
但不知何故,如果我解决了冲突,自动布局无法在所有设备上按要求运行。例如
没有冲突,但在 iPhone4s 中点击文本字段时隐藏了下一个按钮:
在 iPad 的情况下没有冲突并且下一步按钮非常容易访问:
我如何才能在所有设备上一致且连贯地处理它。请帮忙谢谢。
最佳答案
需要了解的一点是,AutoLayout 无法解决所有屏幕尺寸相差很大的问题(而且我仍然觉得尺寸类使用起来很麻烦)。我通常坚持为手机和平板电脑使用两个不同的 xib,连接到同一个 View Controller 。如果可以,请放弃对 iOS 7 的支持,这会消除很多与 AutoLayout 相关的令人头疼的问题。
编辑
一定要使用自动布局。我所说的只是,对于截然不同的分辨率,通常最好有两个不同的 xib,但当然在它们中都使用自动布局。
关于ios - Xcode7 上的自动布局,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34178363/