gpt4 book ai didi

ios Autolayout - 在第一个 View 调整大小时移动第二个 View

转载 作者:塔克拉玛干 更新时间:2023-11-02 09:41:08 24 4
gpt4 key购买 nike

我的主视图由一个 ScrollView 组成,多个文本字段作为表单的一部分。然后我有一个 textView(实际上是一个 HPGrowingTextView),它在添加文本/行时垂直调整 textview 的大小。在这个 textview 下面是一个 mkmapview。Autolayout 对于初始布局工作正常,但是当 textview 自行调整大小时,mapview 不会移动(您可以在屏幕截图中看到 textview 的边框如何消失在仍在其原始位置的 mapview 后面。

mapview 的 TopSpace 约束从 GrowingTextView.Bottom 设置为 8,所以我认为它应该始终自动与 textview 保持 8 像素(或其他)。

(我正在使用 Storyboard ... GrowingTextView 是拖入 Storyboard 中的 UIView 并设置/子类化为 HPGrowingTextView。除了 mapview 没有移动......它工作正常(在没有 mapview 的情况下测试它)

最佳答案

看起来 HPGrowingTextView不兼容自动布局。它没有实现 -intrinsicContentSize。它也不添加任何约束。相反,它只是设置自己的框架。

在自动布局中,设置框架是无效的。你必须调整约束。 (更改其固有内容大小的 View 具有调整系统隐式创建的某些约束的效果。)对框架的任何更改都将在下一个布局过程中撤消。

坦率地说,我对初始布局的合理性感到有些惊讶。您是否有高度限制或其他东西来补偿 HPGrowingTextView 没有固有尺寸这一事实?

无论如何,您需要切换到自动布局感知 View 或修复 HPGrowingTextView

关于ios Autolayout - 在第一个 View 调整大小时移动第二个 View ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29314021/

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