gpt4 book ai didi

ios - 使用自动布局在 UIScrollView 中居中可变宽度的文本列

转载 作者:可可西里 更新时间:2023-11-01 04:43:27 30 4
gpt4 key购买 nike

我有一个看似简单的设计,我无法使用自动布局约束来表达:在 UIScrollView 中,我需要显示一个居中的文本列,其最小宽度为 300 点,最大宽度为 500 点(保持在所有情况下至少有 10 分的差距。)

文本列实际上是一个 UIStackView,但这对于本次讨论来说并不重要,该 View 可以很容易地成为具有纵横比的 UIImageView。

我尝试过使用具有不同内容拥抱和压缩阻力的填充 View 、具有水平轴的堆栈 View 、具有小于或等于常数的宽度约束等。我想在 Storyboard 中完成所有操作,在布局更改期间四处嗅探或使用尺寸等级感觉就像作弊。

(我的一些实验导致 Xcode 在更新 Storyboard时挂起:给我一个痛苦的暗示,即没有针对这些类型的约束的解决方案。)

在您提出建议之前,I have read about the subtleties of UIScrollView and Auto Layout .

这似乎是一个无法解决的问题,真是可惜。这是一种非常常见的模式,设计师喜欢将其与 CSS 一起使用(使用最小宽度和最大宽度)。我希望我在这里遗漏了一些东西,并且对自动布局有更深入了解的人可以解释一种方法来做到这一点(并为其他想做同样事情的人提供引用。)

更新:下面 Adam 和 Ben 的建议对于实现此布局非常有帮助。但是一旦您获得多个文本 block ,自动布局迭代求解器就无法处理它(并且 Xcode 挂起。)有关更多信息:http://openradar.appspot.com/25173433

最佳答案

这个其实很简单!我已经包含了一个 storyboard file作为演示。内容 View 中文本的关键位:

  • 前导/尾随边距 >= 10
  • 宽度 >= 300
  • 宽度 <= 500
  • 居中对齐

不需要更改优先级,除非您有其他内容要优先。

enter image description here

关于ios - 使用自动布局在 UIScrollView 中居中可变宽度的文本列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35976869/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com