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

iOS 自动布局 : Can this be done with IB?

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

我正在尝试使用界面生成器创建以下自动布局:

在 View 的顶部:

  • 适合设备宽度的 ImageView
  • ImageView 是方形的(高度也等于设备的宽度)

填充 ImageView 下方的其余空间:

  • 3 个等高按钮
  • 它们一起填满了顶部正方形下方的其余空间

这可以仅在 IB 中完成吗?

-斯科特



Best Answer-推荐答案


不,它不能,因为您无法在界面生成器中表达关系约束。

除了 ImageView 的高度之外,您可以执行其他所有操作(几乎,请参见编辑)。您可以在 View 上设置一个恒定的高度约束(可能设置为 iPhone 屏幕的宽度),然后为其创建一个导出。

在运行时,如果您在 iPad 上运行(我假设要求是在 iPad 和 iPhone 之间工作,而不是在纵向和横向之间工作,因为您的描述对横向没有意义)然后删除此约束并添加新的固定 ImageView 的高度与其宽度相同。

以下是设置其余约束的方法。我假设您从一个仅包含其主视图导出的 View Controller 开始。

  1. 拖入图片 View ,默认填满屏幕。
  2. 使用固定菜单将 ImageView 的高度固定为 320(然后编辑创建的约束)。这是您创建导出的约束。
  3. 拖入三个按钮
  4. 全部选择它们并平均固定高度
  5. 选择底部按钮,然后使用固定菜单将底部空间固定到 super View
  6. 选择该约束并勾选“标准”复选框。这将增大您的三个按钮以填充剩余空间(加上一点间距)。
  7. 选择所有三个按钮并固定宽度相同
  8. 选择一个按钮并将尾随空格固定到 super View 。和以前一样,选择此约束并勾选“标准”复选框。按钮将增长以填充 View 的宽度。

您希望它看起来像这样:enter image description here

出于某种原因,IB 在其中一个按钮上添加了高度限制,但不允许我删除。让三个按钮高度相等,并在运行时根据 ImageView 的间距和高度推导出每个按钮的高度似乎并不令人愉快。可能还需要在运行时删除该约束,或者我可能在一起抨击时遗漏了一些东西。无论如何,希望上面概述的原则是有帮助的。

关于iOS 自动布局 : Can this be done with IB?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14325688/

回复

使用道具 举报

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

本版积分规则

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