gpt4 book ai didi

ios - 使用自动布局调整 super View 和所有 super View 的 sibling

转载 作者:塔克拉玛干 更新时间:2023-11-02 21:37:29 25 4
gpt4 key购买 nike

我正在尝试管理屏幕上的 View ,以便根据输入的文本不断增长的 TextView 更新所有 View 。

在我的 Controller View 中,我有两个 subview 。我们称它们为 view1 和 view2。 View1 有一个 uitextview subview ,它根据输入的文本而增长和收缩。

我遇到的问题是 view1 和 view2 在打字时不会变大和变小。 textView 底部垂直间距的约束常量已设置为其父 View 的 10px。 view1 和 view2 之间的垂直间距设置为 0。这是 View 的可视化表示:

 ---------------------
| |
| ----------------- |
| | UITextView | |
| ----------------- |
| view1 |
---------------------
| |
| |
| |
| |
| view2 |
| |
| |
| |
| |
| |
---------------------

我向 textView 添加文本时得到的结果是:

 ---------------------
| |
| ----------------- |
| | UITextView | |
| | | |
| | | |
---------------------
| |
| |
| |
| |
| view2 |
| |
| |
| |
| |
| |
---------------------

但是期望的行为应该是这样的:

 ---------------------
| |
| ----------------- |
| | UITextView | |
| | | |
| | | |
| | | |
| | | |
| | | |
| ----------------- |
| view1 |
---------------------
| |
| |
| view2 |
| |
| |
| |
---------------------

奇怪的是,一旦我添加了文本并按下提交(为简单起见未添加到图表中),view1 和 view2 一样增长到正确的大小,但在键入时不是。

我是否需要显式调用 setNeedsUpdateConstraints 或 updateConstraintsIfNeeded?如果有,在哪里?我试过从 TextView 委托(delegate) textViewDidChange: 调用它,但没有任何帮助。

如有任何帮助,我们将不胜感激。

最佳答案

我设法解决了这个问题。

对于阅读这篇文章并遇到同样问题的任何人,我的做法是编写我自己的 UITextView 子类,为其提供高度限制和一些委托(delegate)方法。

当更改 TextView 的高度时,只需触发委托(delegate)方法(例如 textViewDidChangeHeight:)。然后,在委托(delegate)回调实现中,我只是在 View 上调用了 sizeToFit。

关于ios - 使用自动布局调整 super View 和所有 super View 的 sibling ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21000482/

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