ios - 带有 Autolayout iOS 的 scrollView 中的 UITextView 不工作

标签 ios objective-c uiscrollview autolayout

我正在尝试创建一个动态 UIView,其中包含一些固定图形元素和一些动态文本。我找不到适用于我的项目的教程或文档。下面是我的分解 View (我的带有scrollView的 View 和主视图的高度在iphone 5 View 中被强制为800,仅出于这个问题的目的) enter image description here

我想达到什么目的? Header、图片、静态 View 、静态 View 2都是固定的,不会随着内容的变化而变化。标签 1、标签 2 和文本区域将随着其内容大小而增长。

enter image description here

我已经在这件事上工作了大约一天,我需要一点帮助,因为我无法取得任何结果。我试过这个解决方案:

solution 1

通过这个解决方案,我可以在 NSLog() 中看到返回正确值的 TextView 约束

self.textViewHeightConstraint.constant = [textview sizeThatFits:CGSizeMake(textview.frame.size.width, CGFLOAT_MAX)].height; 

但运行时的文本区域框架保持不变。

我也试过这个教程:

solution 2

它适用于我一个只有 ScrollView 、内容 View 和 TextView 的项目。当我尝试在我的项目中使用该逻辑时,它不再起作用。

我尝试了许多其他解决方案,所以我的问题是:如何才能达到预期的结果?或者我的布局设置可能有一些可笑的错误?或者简单地说,是否有人可以向我指出涵盖类似 View 组织的教程?

最佳答案

你应该避免在 UIScrollView 中使用复杂的嵌套 subview 。使用 AutoLayout,您应该将它们放在 subview 中。最好的开始:

1:放置一个UIView在你的里面UIScrollViewleading/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/

相关文章:

ios - GADBannerView 固定在 UITableViewController 中的屏幕底部

objective-c - 来自同一文件的不同 md5 总和

objective-c - 比较 objective-C 中的 2 个字符串

定义为副本的 Objective-C block 属性不起作用

ios - 如何处理部分瀑布布局CollectionView

ios - 如何将我的选项卡重置为默认 View ?

ios - Google map iOS SDK 中的 GMSAutocompleteFilter 中缺少 "Country"属性

iphone - 一键发送电子邮件(不显示 MFMailComposerView)

iphone - iPhone/iPad 应用程序中的侧滑选项卡

ios - 当键盘出现时移动 View 并将其呈现在 ScrollView 中。 swift 3