• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

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

[复制链接]
菜鸟教程小白 发表于 2022-12-13 10:27:17 | 显示全部楼层 |阅读模式 打印 上一主题 下一主题

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

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

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



Best Answer-推荐答案


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

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

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

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

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

回复

使用道具 举报

懒得打字嘛,点击右侧快捷回复 【右侧内容,后台自定义】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关注0

粉丝2

帖子830918

发布主题
阅读排行 更多
广告位

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap