ios - 约束未针对所有屏幕设备正确调整大小

标签 ios uibutton autolayout constraints

我正在尝试对这些水平按钮进行约束。我希望按钮的大小比例相同,并且图标的宽度和高度彼此相等。

enter image description here

知道如何让这些按钮根据屏幕尺寸正确调整大小吗?谢谢!

最佳答案

制作包含图标和文本的 UIView 组。让我们称之为容器 View

将所有 n 个容器 View 放在您的 Storyboard中,就像您希望它们出现的那样。现在:

  • 在最左边的容器 View 中,向 super View 添加前导和底部约束。
  • 现在向第二个容器 View 添加前导空格 0(或任何您想要的)。控制 + 将第二个按钮拖到第一个按钮。按住 Shift 键并选择等宽等高对齐底部

现在将与第二个容器 View 相同的约束应用到所有 n - 1 容器 View 。 n 是您要添加的容器 View 的数量。现在向您的最后一个(第 n 个)容器 View 添加一个额外的约束,这将是 superView 的尾随空格。现在,您所有的容器 View 都应该具有相等的宽度,这将取决于屏幕的宽度!

如果您希望所有容器 View 具有特定的高度或纵横比。只需将高度纵横比 约束添加到您的第一个 容器 View ,所有后续 View 都会相应更新.

如果您希望高度取决于屏幕尺寸并且保持特定的宽高比,那么您必须给第一个容器 View 一个相等的使用特定乘数(如 0.15)为整个 View 的高度。

您还必须为每个 UIView

中的图标和标签添加适当的约束

编辑:对您来说更容易做的事情是将图标作为图像添加到 UIButton 并像往常一样将文本添加到 UI 按钮UIButton 将与您发布的屏幕截图非常相似。然后只需应用我上面提到的约束。

关于ios - 约束未针对所有屏幕设备正确调整大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41459712/

相关文章:

ios - MPMediaPickerController 自定义标签和图标的颜色

ios - 如何在 iOS 7 上的 UINavigationController 中禁用向后滑动手势

ios - 按下时更改 UIButton 颜色

ios - UIAlertView 没有响应

ios - 设置 DLRadioButton 图标和标题之间的 marginWidth

具有相对宽度/高度的 IOS8 自动布局

ios - 在 iOS 中调整两个对齐标签中的文本大小

ios - 在 UIView 上应用渐变不起作用

ios - Xcode 4.5 - 应用程序因内存使用过多而崩溃,但在 4.3 上运行良好

ios - AutoLayout:removeFromSuperview/removeConstraints 抛出异常并严重崩溃