OGeek|极客世界-中国程序员成长平台

标题: iOS - 大小类的不同堆栈 View [打印本页]

作者: 菜鸟教程小白    时间: 2022-12-11 20:10
标题: iOS - 大小类的不同堆栈 View

我正在使用 UIStackView 在我的一个 tableview 单元 xib 中进行布局,以便更轻松地调整大小,并且我还使用尺寸类,因为手机和平板电脑之间存在布局差异。

由于某种原因,我必须为每个尺寸类别使用不同的堆栈 View 。 iPhone 使用 stackview1,iPad 使用 stackview2。现在我已将 label1 移动到 iPhone 尺寸类中的 stackview1 中,切换到 iPad 尺寸类并想将 label1 移动到 stackview2stackview1 中的 code>(显示为灰色)。但是一旦我这样做并切换回 iPhone 尺寸等级,Label1 就会从 stackview1 中移出,并且 iPhone 布局会搞砸。

想知道是否有人以前遇到过这种情况并得到任何解决方案?

更新

为了进一步澄清,

  1. 我完全通过约束实现了以下两个布局,同事们说服我,使用 UIStackView 的布局可以更容易地适应 UI 的变化。例如,在下面的布局中,如果我希望 label3 向上移动一次,则 label1label3 之间存在距离约束 (12) label1label2 是隐藏/nil,我将不得不手动将距离约束设置为 0。如果通过 UIStackView,请设置 label1label2 被隐藏,我们都设置好了。这只是一个例子,这样的变化还有很多。

  2. 我之所以需要不同的 UIStackView 是因为设计上的差异。

手机布局 iPhone Layout 平板电脑布局 iPad Layout



Best Answer-推荐答案


看起来没有办法使用相同的 stackview 来实现目标。我最终使用一个 xib 解决了它并部分应用了 stackview。在上面的示例中,我将标签 1、2 和 3 放在了堆栈 View 中,因为这三个标签的布局可以在不同的尺寸类别中重复使用。其余的约束是单独设置的,没有stackview。

关于iOS - 大小类的不同堆栈 View ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50431047/






欢迎光临 OGeek|极客世界-中国程序员成长平台 (http://ogeek.cn/) Powered by Discuz! X3.4