【问题标题】:UIView Height Stretched On Larger Devices IOS在较大的设备 IOS 上拉伸 UIView 高度
【发布时间】:2018-03-10 20:22:49
【问题描述】:

我正在故事板的 SE 视图中设置约束。出于某种原因,当我在较新的设备中进行模拟时,我的视图的 height 会不断拉伸。我无法理解发生了什么或为什么会发生这种情况。我试过了:

-剪辑到边界

-自动布局

-所有内容模式

-等高

所有这些都不适合我。关于如何避免这种情况的任何意见?

这里是testProject的链接(点击慢速下载)

https://ufile.io/oxctp

【问题讨论】:

  • 能否请您提供可以重现此错误的最小示例?
  • 我不认为这是一个错误。它是一个约束问题。我只是不知道如何避免它或它为什么会发生。
  • 要了解它发生的原因,需要 XCode 项目的示例。屏幕截图没有包含足够的信息。
  • 这是一个非常简单的例子:在视图中抛出一个 UIButton。然后在上面放一个textField,在有约束的不同模拟器上运行。
  • 有哪些限制?为什么不能举个例子?根据您的描述复制视图内容非常烦人。

标签: ios xcode constraints


【解决方案1】:

堆栈视图应该像那样伸展 !!!

你只是把你的约束弄错了。

如果您已经是自动布局专家,这很容易,只需单击一下。但除非你的故事板在 Xcode 中打开,否则这真的是不可能的......

一些基本技巧,

(1) 广泛尝试这两种设置:

您需要阅读有关它们的每篇文章,以及所有源文档。

(2) 确保您只是限制 堆栈视图本身的高度! 如果确实如此,那就是您想要的。 (有很多很多方法可以做到这一点,这取决于您的布局。例如,它可能是“某个固定高度”或“某个其他元素的高度的 80%”......或者其他什么,取决于您。)

(3) 仔细阅读这篇文章:

https://stackoverflow.com/a/40977494/294884

(4) 没有人知道您想要什么结果,但如果您确实使用堆栈视图,很可能您想要设置它的顶部,而不是底部。 在此方式,堆栈视图将成为问题的两个元素的“任何高度是必要的”。您可以说元素将设置堆栈视图的整体高度,而不是堆栈视图。听起来不错?

【讨论】:

  • 顺便说一句,它几乎可以肯定与拥抱/等优先级无关(如已删除的答案中所述),这是完全不同的复杂程度。
  • stackView 在这种情况下没有任何区别。我在上面发布了示例项目。我明白有很多东西要学,而且约束的复杂性。我发现最好自下而上地工作以获得最大的成功。我只是想了解并克服在更大设备上拉伸的问题。
【解决方案2】:

尝试在此处添加缺少的约束:

【讨论】:

  • 不是堆栈视图错误。我把它放在 stackView 中以获得约束帮助。我一直在尝试一切。
  • 与我们的无堆栈视图没有区别。仍然得到相同的结果。
  • 您的情况不可能固定高度吗?
  • 我没有“缺少约束”。
  • 您几乎可以肯定确实缺少约束,或者,它们是错误的。当您在网上阅读有关 iPhone 开发的文章时,它表明它非常容易,并且在两个月内您就会大获成功!在应用商店。事实上,它非常非常,很难。例如,一年来我们一直在努力聘请真正的自动布局专家——他们不存在。你可以轻松地花 8 周时间,连续每周 50 小时成为 UIStackView 专家。
猜你喜欢
  • 1970-01-01
  • 2017-10-19
  • 1970-01-01
  • 1970-01-01
  • 2014-10-14
  • 2011-07-29
  • 1970-01-01
  • 2012-02-04
  • 1970-01-01
相关资源
最近更新 更多