我在视图内的视图中换行文本时遇到问题。如何防止它跑出屏幕?

问题描述 投票:0回答:1

我在 AppStore 上有一个现有的应用程序,该应用程序主要是手工编码的,每年我都会花时间更新它,以确保它适用于新的 iOS 设备尺寸。当苹果改变屏幕尺寸和分辨率时,我正在尝试更新它以便更容易调整。但是我在视图中的视图中使用文本溢出时遇到了问题。为了使文本不可编辑,我将其作为标签插入,因为缺乏找到更好的方法。

我有一个主视图和主视图中的三个部分。顶部部分是单行标题,位于屏幕顶部。第二部分是一个视图,具有不同的颜色,其中包含问题文本,并且应该耗尽底部按钮的所有空间。第三部分是屏幕底部的按钮。

我有两个问题。首先,当在主故事板中时,文本以单行形式从屏幕右侧延伸,而不是沿着屏幕环绕和展开。其次,当我在模拟器中运行应用程序时,主视图中的蓝色视图及其包含的文本根本不会出现。

我提供了两张图片来显示问题以及我想要实现的目标。 What I see in the Storyboard What I'm trying to achieve both in the Storyboard and in the running app

我尝试过许多约束变化。我还删除了所有限制并重新开始了几次。

text storyboard overflow
1个回答
0
投票

如果您向我们展示您的限制,这将会有所帮助 - 但是,这里是如何设置标签、“紫色视图”和按钮的示例...

快速说明:为您的 UI 元素提供对比背景颜色非常有帮助,尤其是在入门时...可以更轻松地了解框架的情况。

检查此处使用的约束:

除了这些约束之外,我们还需要告诉自动布局只有描述标签应该垂直拉伸/压缩。

因此,对于

Title Label
Desc And Sub Title Label
Continue
按钮,将内容拥抱和内容压缩阻力优先级设置为必需 (1000):

现在,通过一些不同长度的描述,我们得到:

但请注意,如果文本太长,则会被剪裁:

因此,您可能希望将描述标签放在滚动视图中:

并且,当文本太长时,我们可以滚动,而不是剪切(...)文本的末尾:

© www.soinside.com 2019 - 2024. All rights reserved.