首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >AutoLayout on Xcode7

AutoLayout on Xcode7
EN

Stack Overflow用户
提问于 2015-12-09 12:02:47
回答 3查看 166关注 0票数 1

我很难理解Autolayout,以及它是如何为除我之外的其他人工作的。问题是,当它们最终为我工作时,它们只为一种解决方案工作,例如iPad,没有遵从另一种约束,比如iPhone4s或其他什么,结果要么导致相互冲突的约束,要么完全不按我希望的方式工作(例如,按钮将出现在iPad上的文本字段附近,而不是在iPhone上)。我读过Raywenderlich的自适应布局教程以及Steven关于Autolayout (实用AutoLayout)的书,但仍然面临很多麻烦。请帮帮我。它是如此令人沮丧,以至于我想完全放弃编码,最终成为一名僧侣或什么的.x(

编辑

因此,为了进一步帮助您,我将通过一些快照来解释某些东西是如何不适合我的。我最初的想法是显示4个视图,每个视图包含一个文本字段,该字段将在按下特定按钮时通过CoreAnimation进行转换。ViewController视图有一个背景图像、一个后退按钮、4个视图、一个进度条和一个显示每个视图的按钮。问题如下:虽然整个视图在模拟器上似乎是合适的,但我可以看到xcode终端中的冲突。

包含所有元素的图像:

带有冲突的图像:

但不知怎么的,如果我解决了冲突,自动收费表并不能满足所有设备的要求。例如:

没有冲突,但next按钮隐藏在iPhone4s:文本字段的点击上。

中,与iPad一样,无冲突和Next按钮是非常容易访问的:

我如何处理这个问题,使其在所有设备上都是一致和一致的。请帮忙谢谢。

EN

回答 3

Stack Overflow用户

发布于 2015-12-09 12:14:21

需要理解的一件事是,AutoLayout不会解决屏幕大小相差很大的所有问题(而且我仍然有这样的印象,即size类的使用非常麻烦)。我通常坚持两个不同的西克斯手机和平板电脑,连接到相同的视图控制器。如果可以的话,放弃对iOS 7的支持,这就消除了与AutoLayout有关的许多麻烦。

编辑

无论如何,确实使用自动布局。我说的是,通常情况下,最好有两个不同的西克斯大不相同的分辨率,但当然,在他们两个使用自动布局。

票数 1
EN

Stack Overflow用户

发布于 2015-12-09 13:50:29

一些事情,我想分享从我的经验,自动布局。

  1. 如果你想要一个元素出现在一个特定的位置(右侧20分,顶部40分),你需要调整情节提要中的按钮,并添加尾随和顶部约束。Xcode将为您提供修复元素的高度/宽度的建议。如果希望与故事板中的高度宽度完全相同,则调整元素大小或添加高度和宽度约束。
  2. 如果希望en元素根据不同屏幕大小的高度宽度展开/收缩,请添加-leading、-trailing、-top和底部约束。
  3. 重要:当我们“引脚”元素(例如按钮)(顶部、底部、前导、尾随)时,这些约束是相对于其他元素(例如其他按钮)添加的。在这种情况下,请确保其他元素具有约束。否则,Xcode将产生缺少约束的错误。
  4. 不要像Xcode建议的那样添加缺少的约束,因为Xcode会添加一些约束,这会导致意外的大小。

关于您的问题:当键盘出现时,您可以将视图向上移动(相对于键盘的高度)。如果您想在不以编程方式更改约束的情况下实现这一目标,This答案将对您有所帮助。否则,如果您已经正确地添加了约束,而不是创建和IBOutlet顶部约束最顶部的元素,并减去一个常数的键盘高度(150)从该约束的常量。此外,当键盘消失时,您需要在该约束的常量中添加键盘高度(150)。

票数 1
EN

Stack Overflow用户

发布于 2015-12-09 14:07:37

键盘隐藏下一个按钮的问题与自动布局没有直接关系,尽管自动布局可以帮助管理它。问题很简单,您在屏幕上使用的空间比可用的要多。

解决这一问题的方法有几种:

  • 您可以将内容嵌入滚动视图中,这样,如果滚动视图的内容超过可用高度,用户就可以上下滚动屏幕。自动布局在这里会有所帮助:您将从滚动视图底部设置一个约束到底部布局指南,为该约束添加一个出口,在您的代码中可以观察到键盘隐藏/显示/更改通知,并相应地调整该约束的常量。
  • 您调整您的布局,使一切都是可见的,即使是在键盘上,而不改变任何位置的任何东西,无论键盘是向上或非。这意味着你不会使用键盘会出现的任何空格
  • 根据键盘的存在动态调整布局。这将将第一个选项中的约束与其他约束结合在一起,以便在该约束移动时移动该约束。

在你做任何事情之前,考虑一下在不同的情况下你想要的是什么样子。然后构建将产生此结果的约束。自动布局不能为你猜测你想要做什么,你需要对你想要的布局有一个精确的想法。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34178363

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档