ios - 如何在 iOS 中设置 TextView 大小以显示大量文本

标签 ios swift

我是 iOS 开发的新手。我最近开始使用 swift 并学习了所有基础知识。这是我的第一个应用程序,所以如果这是一个愚蠢的问题,请耐心等待。

我正在尝试执行以下操作。

有一个文本输入字段,用户可以在其中输入人名。然后,我们在 TextView 中显示存储中的图像和简介。 所以,有时我会遇到这样的问题:简历文本很大并且被截断。我尝试了属性面板中的可滚动选项,但我不希望向下滚动时图像保留在那里。我希望图像向上移动,就像在网页中一样。不管怎样,我可以实现这个目标,或者你可以给我指点什么资源吗? PS:我尝试过使用 ScrollView ,但我觉得我把一些东西搞砸了,因为它没有按预期工作,并且正在截断它。

enter image description here enter image description here

第一张图片是我的主要 Storyboard。第二个是我的 TextView 的属性面板。

如果您需要任何我未在此处发布的详细信息,请告诉我。我不知道还要发布什么。

编辑:

我正在使用自动布局。

I am using Auto Layout.

编辑 2:

这是我的 View Controller 布局。 View Controller Layout.

编辑 3 :

我尝试过使用像 Beowulf 建议的 0 行标签。但这就是发生的事情。 enter image description here enter image description here

编辑 4:更新了约束图像和最新结果。 enter image description here enter image description here

请注意,“Hero Text View”只是一个标签。

最佳答案

我认为您不需要 TextView 的容器 View 。大多数情况下,您需要做的是根据 TextView 的内容设置 TextView 的高度。 TextView 没有像标签或图像那样的固有大小。因此,您应该为 TextView 创建高度约束。为其创建一个 IBOutlet,然后以编程方式设置它。获得 TextView 的文本后,请说出如下内容:

self.heroTextViewHeightConstraint.constant =  self.heroTextView.contentSize.height

这将使您的 TextView 不会滚动,并且,如果您正确设置了 ScrollView ,它将调整大小以适应其所有内容。

如果您确实不希望 TextView 滚动,您可以只使用 lines = 0 和自动换行的 UILabel,并且可以避免必须以编程方式设置任何约束。

关于ios - 如何在 iOS 中设置 TextView 大小以显示大量文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34371048/

相关文章:

swift - 使用 PromiseKit 6 在 Swift 4.2 中进行缓存

swift - 在字典中添加 NSIndexPath 作为键和 NSNumber 作为值的问题?

Swift:为符合通用协议(protocol)的通用类创建包装类时出错

objective-c - UIAlertView 有 19 个按钮

ios - 使用 Xcode 8+ 和 Swift 3+ 与 MapKit 进行集群

swift - 为什么indexPath和IndexPath都不被接受?

ios - 结构的深度复制 - 如何?

ios - 解析服务器不支持的 URL

ios - Swift 2 核心数据 : delete object ok! 但 TableView 中没有刷新行

iphone - 在 NSUserDefaults 中存储自定义对象的 NSArray