如何在设置了“等宽”的滚动视图中嵌入的堆栈视图中将标签文本设置为远离视图边缘?

Posted

技术标签:

【中文标题】如何在设置了“等宽”的滚动视图中嵌入的堆栈视图中将标签文本设置为远离视图边缘?【英文标题】:How to set label text away from edge of view in a stackview embedded in scrollview where 'equal widths' is set? 【发布时间】:2017-10-06 17:06:32 【问题描述】:

在令人沮丧的几个小时后,我试图获得一个包含文本的标签的堆栈视图,这些标签被限制在屏幕的垂直边缘,同时允许向上和向下滚动,我管理了它。但是我希望文本远离屏幕边缘 - 它看起来很尴尬。问题是我目前有一个“等宽”约束集,因此堆栈视图受到约束以避免水平滚动。当我向视图添加更多约束时,它会发生冲突。

这是它在屏幕上的样子:

界面生成器中的设置如下所示:

将文本从屏幕边缘略微挤压的最直接的方法是什么?我可以使用 stackview 的 Spacing 选项轻松地将标签彼此隔开,但找不到一个简单的解决方案来将其与垂直边缘隔开而不删除'等宽'约束,这会使整个事情变得混乱:/

【问题讨论】:

你能不能 proportional width 来查看或滚动查看 Stack View,将其设置为 0.9 之类的值并在容器中水平居中? 听起来值得一试。那是我可以通过界面生成器设置的吗? 是的,我会发布一个详细说明这一点的答案 【参考方案1】:

将您的堆栈视图嵌入到另一个视图中,并使用您想要的顶部、前导、底部和尾随约束。对于嵌入堆栈视图的视图,将顶部、前导、底部、尾随约束设置为值为 0 的滚动视图,并设置与主视图相等的宽度。对于 0 到主视图的滚动视图顶部、前导、底部和尾随约束。这样,您的嵌入视图将确定滚动视图的宽度,并为堆栈视图提供前导和尾随。

【讨论】:

【参考方案2】:

要设置比例值(相对于相等值),请单击标题为Equal Width to:

的约束旁边的编辑选项

这将导致出现一个小弹出窗口。在乘数下,您可以设置比例宽度。例如,如果您希望某样东西占据屏幕的 50%,您可以设置 multiplier=0.5。

注意:这里已经叫成比例宽度了,当你设置乘数时,标题会改变。

【讨论】:

以上是关于如何在设置了“等宽”的滚动视图中嵌入的堆栈视图中将标签文本设置为远离视图边缘?的主要内容,如果未能解决你的问题,请参考以下文章

具有嵌入式堆栈视图的滚动视图在编程上失败

嵌入堆栈视图时,滚动视图内容未填充

无法在滚动视图中正确调整堆栈视图

如何在 Xcode 的嵌入式堆栈视图中设置边距而不会出现约束错误?

如何在 StackView 中设置等宽或等高?

如何在 iOS 中将堆栈视图中的第一个视图置于最前面? [复制]