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

iOS:以编程方式从 Storyboard 中重置约束以调整帧变化

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

使用 Storyboard,我设置了多个 View ,这些 View 包含在 ScrollView 中,例如 this

“更多症状”按钮下的所有内容都是一个 View (除了 Collection View 其后)。我们称它为 moreSymptomsView。现在我想做的是当点击更多症状按钮时,我想用 setFrame 向下移动 moreSymptomsView 并通过设置显示它后面的 Collection View hidden 属性为 false。

它运行正常,但在尝试滚动后,moreSymtomsView 会回到原来的位置,例如 here (我假设由于它的限制)。

我应该如何以编程方式将 moreSymptomsView 的约束重置到新 Collection View 的底部?

谢谢!



Best Answer-推荐答案


如果你想在使用 AutoLayout 时改变框架。您应该更改 Constraintconstant。如果你 setFrame 如果与 UI 交互,它会自动回到以前的状态。对于您的情况,您可以这样做:

  1. 更多症状的拖放顶部约束:

enter image description here

为其命名。我将它命名为 constraintTopSympotomsLabel

  1. 当你想改变框架时:

    self.constraintTopSympotomsLabel.constant = ValueYouWant

用于将其移动到新框架。

你可以用同样的方式改变所有的约束来实现你想要的框架。

希望对您有所帮助!

关于iOS:以编程方式从 Storyboard 中重置约束以调整帧变化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34446446/

回复

使用道具 举报

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

本版积分规则

关注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