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

ios - 使用 Autolayout 和 Interface Builder 垂直展开/间隔的屏幕元素

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

我有一个相对简单的纯纵向 UI,布局在 Storyboard 中,其中包含我想要垂直展开以填充 3.5 英寸和 4 英寸屏幕的项目。

换句话说,我希望调整控件之间的间距,以便 UI 可以很好地填满屏幕,而与屏幕尺寸无关。

这似乎不是一件不寻常的事情,但是我无法让 Interface Builder(在 Xcode 5 中)添加正确的约束 - 我似乎只能让它添加固定的垂直空间限制,不会针对不同的屏幕尺寸进行调整。

有没有人知道如何在不借助程序化 UI 构建的情况下做到这一点?我已经投入了大量精力来使基于 Storyboard 的 UI 恰到好处。

该解决方案需要同时在 iOS 6 和 7 上运行。谢谢!



Best Answer-推荐答案


如何做到这一点取决于当屏幕尺寸发生变化时您想要进行什么样的调整。一种方法是分别为 super View 的顶部和底部提供顶部和底部大多数 View 的垂直间距约束。添加一个 View ,我通常在垂直堆叠的所有 View 之间使用不带文本的 UILabel,并使它们彼此具有相等的高度。给其中一个“间隔” View 一个固定的高度,但对其进行编辑,使其优先级小于 1000(这意味着它不是必须满足的)。然后在每个“真实” View 和“间隔”的上方和下方的每个最近邻居之间添加间距约束,以便您将所有 View 从上到下通过垂直间距约束连接在一起。当屏幕尺寸改变时,唯一可以改变的将是“间隔”的高度,因为优先级小于 1000,所有其他约束都是强制性的。我的约束如下所示:

enter image description here

每个标签与它们上方和下方的“真实” View 都有标准(8 磅)间距。顶 View 和底 View 应该与屏幕边缘有任何间距。

关于ios - 使用 Autolayout 和 Interface Builder 垂直展开/间隔的屏幕元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19995040/

回复

使用道具 举报

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

本版积分规则

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