gpt4 book ai didi

objective-c - 带有自动布局的 UIScrollView 内的 UITextView

转载 作者:太空狗 更新时间:2023-10-30 03:09:41 24 4
gpt4 key购买 nike

我试图将 UITextView 放置在带有 AutoLayout 的 UIScrollView 中,但没有成功。我试过的是,

  • 我将 UIScrollView 放在 Storyboard 的主视图中
  • 我将 UITextView 放在 Storyboard中的 UIScrollView 内,并禁用了滚动启用
  • 我在 UIScrollView 上设置约束(前导、尾随、顶部、底部)
  • 我在 UITextView 上设置约束(顶部、前导、尾随、高度)
  • 我创建了 UITextView 高度限制的 IBOutlet
  • 我在 viewDidLoad() 的 UITextView 上设置了一个文本(很多文本会导致滚动)
  • 我使用下面的代码设置了 UITextView 的高度限制。我在 viewDidLoad() 和 viewDidLayoutSubviews() 中设置文本后就试过了,但没有成功

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

UITextView 正在获得它的高度,但 UIScrollView 没有。有什么我错过的吗?

最佳答案

经过几天的研究和亲 body 验 UIScrollView + UITextView + Auto Layout,我成功地得到了一个完全可用的 UIScrollView。我想分享我的解决方案,以防有人遇到同样的情况。

  1. 在 Storyboard 的主视图中添加 UIScrollView
  2. 在 UIScrollView 中添加 UIView
  3. 在 UIView 中添加 UITextView(在第 2 步中添加的 View )
  4. 确保未选中 UITextView 的“启用滚动”
  5. 在 UIScrollView 上添加 4 个约束(前导、尾随、顶部、底部)
  6. 在 UIView(第 2 步中添加的 View )上添加 4 个约束(leading、trailing、top、bottom)
  7. 在 UIView(第 2 步中添加的 View )和主视图上添加“宽度相等”约束
  8. 在 UITextView 上添加 5 个约束(前导、尾随、顶部、底部、高度)。完成此步骤后,您应该不会收到任何有关约束的错误和警告。
  9. 在 ViewController 上添加 UITextView 高度约束 IBOutlet。 @property (nonatomic, weak) IBOutlet NSLayoutConstraint *textViewHeightConstraint; 并在 Storyboard 中连接它
  10. 以编程方式更改 UITextView 高度限制。 self.textViewHeightConstraint.constant = [self.textView sizeThatFits:CGSizeMake(self.textView.frame.size.width, CGFLOAT_MAX)].height;

完成所有这 10 个步骤后,您将可以完全使用带有 UITextView 的 UIScrollView,并且会很开心。

关于objective-c - 带有自动布局的 UIScrollView 内的 UITextView,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27652334/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com