我正在尝试创建一个动态 UIView,其中包含一些固定图形元素和一些动态文本。我找不到适用于我的项目的教程或文档。下面是我的分解 View (我的带有scrollView的 View 和主视图的高度在iphone 5 View 中被强制为800,仅出于这个问题的目的)
我想达到什么目的? Header、图片、静态 View 、静态 View 2都是固定的,不会随着内容的变化而变化。标签 1、标签 2 和文本区域将随着其内容大小而增长。
我已经在这件事上工作了大约一天,我需要一点帮助,因为我无法取得任何结果。我试过这个解决方案:
通过这个解决方案,我可以在 NSLog() 中看到返回正确值的 TextView 约束
self.textViewHeightConstraint.constant = [textview sizeThatFits:CGSizeMake(textview.frame.size.width, CGFLOAT_MAX)].height;
但运行时的文本区域框架保持不变。
我也试过这个教程:
它适用于我一个只有 ScrollView 、内容 View 和 TextView 的项目。当我尝试在我的项目中使用该逻辑时,它不再起作用。
我尝试了许多其他解决方案,所以我的问题是:如何才能达到预期的结果?或者我的布局设置可能有一些可笑的错误?或者简单地说,是否有人可以向我指出涵盖类似 View 组织的教程?
最佳答案
你应该避免在 UIScrollView
中使用复杂的嵌套 subview 。使用 AutoLayout,您应该将它们放在 subview 中。最好的开始:
1:放置一个UIView
在你的里面UIScrollView
与 leading
/trailing
/top
/bottom
UIScrollView
的约束设置为 0 .
2: 将所有 subview 放在one UIView
中,
3:一旦您更改了 UIView
中任何 subview 的文本/动态内容, 你只需计算 scrollView.contentSize
并根据一组复杂的嵌套 subview 所需的代码对其进行相应设置。
您更好的选择:
使用 UITableView
相反,它有 scrollView
方法,它可以非常轻松地为您处理动态布局,而无需所有意大利面条代码。
关于ios - 带有 Autolayout iOS 的 scrollView 中的 UITextView 不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42725050/