我正在使用 UIStackView
在我的一个 tableview 单元 xib 中进行布局,以便更轻松地调整大小,并且我还使用尺寸类,因为手机和平板电脑之间存在布局差异。
由于某种原因,我必须为每个尺寸类别使用不同的堆栈 View 。 iPhone 使用 stackview1
,iPad 使用 stackview2
。现在我已将 label1
移动到 iPhone 尺寸类中的 stackview1
中,切换到 iPad 尺寸类并想将 label1
移动到 stackview2
stackview1
中的 code>(显示为灰色)。但是一旦我这样做并切换回 iPhone 尺寸等级,Label1
就会从 stackview1
中移出,并且 iPhone 布局会搞砸。
想知道是否有人以前遇到过这种情况并得到任何解决方案?
更新
为了进一步澄清,
我完全通过约束实现了以下两个布局,同事们说服我,使用 UIStackView 的布局可以更容易地适应 UI 的变化。例如,在下面的布局中,如果我希望 label3
向上移动一次,则 label1
和 label3
之间存在距离约束 (12) label1
和 label2
是隐藏/nil,我将不得不手动将距离约束设置为 0。如果通过 UIStackView
,请设置 label1
和 label2
被隐藏,我们都设置好了。这只是一个例子,这样的变化还有很多。
我之所以需要不同的 UIStackView
是因为设计上的差异。
看起来没有办法使用相同的 stackview
来实现目标。我最终使用一个 xib 解决了它并部分应用了 stackview。在上面的示例中,我将标签 1、2 和 3 放在了堆栈 View 中,因为这三个标签的布局可以在不同的尺寸类别中重复使用。其余的约束是单独设置的,没有stackview。
关于iOS - 大小类的不同堆栈 View ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50431047/
欢迎光临 OStack程序员社区-中国程序员成长平台 (https://ostack.cn/) | Powered by Discuz! X3.4 |