【问题标题】:UIButton Height Increase Size Using AutoLayout with Different DevicesUIButton Height 使用不同设备使用 AutoLayout 增加大小
【发布时间】:2015-05-28 22:32:16
【问题描述】:

我有一个功能齐全的应用程序,我正在 Interface Builder 中创建一个带有按钮和标签的新视图控制器。我已经在 Interface Builder 中布置了所有内容,并使用AutoLayout 来确保每个组件都已就位。它在 iPhone 5s 上运行良好,但在 iPhone 6 和 6 Plus 上,我的UIButtons 没有调整其高度以适应更大的屏幕。

屏幕截图将有助于更清楚地理解这一点。

iPhone 5s

iPhone 6 Plus

Update Me 文本是一个UILabel。基本到底部 PRO Unlimited 是一个UILabel。这些按钮是单独的UIButtons。恢复购买是UIButton,底部的最终文本是UILabel

我的约束是:

基本标签

到 Superview 的尾随空间

引领空间走向Superview

恢复购买的底部空间UIButton

更新我的顶部空间UILabel

购买 100 个 UIButton

引领空间走向Superview

追踪空间无限购买UIButton

顶部空间到顶部布局

恢复购买的底部空间UIButton

等宽无限购买UIButton

无限购买UIButton

到 Superview 的尾随空间

领先空间购买 100

顶部空间到顶部布局

恢复购买的底部空间UIButton

等宽买 100 个

恢复购买UIButton

到 Superview 的尾随空间

引领空间走向Superview

顶部空间基本UILabel

底部空间到一次性UILabel

顶级空间无限购买

购买 100 的顶部空间

在 iPhone 5s 上,Restore Purchases UIButton 的宽度为 268,高度为 30。

在 iPhone 6 Plus 上,Restore Purchases UIButton 的宽度为 382,高度为 198,因此很明显这占用了大量空间,导致 UIButton 不会增加。

我想要实现的是,它的每个组件都像现在一样,但是在 iPhone 6 Plus 上,让 Buy 100 和 Buy Unlimited UIButtons 增加高度而宽度保持不变.

对此的任何指导将不胜感激!

【问题讨论】:

  • ++即使按钮大小增加它也会看起来很奇怪。您还必须随着屏幕尺寸的增加而增加文本/标签的大小。
  • 啊,确实有道理!您是指 UILabel 的字体大小还是实际大小?我没有在任何地方设置高度限制,所以我猜它应该随着屏幕尺寸的增加而增加,但不知道它现在是否正在这样做?如果我可以在更大的屏幕上增大字体大小并同时增加标签大小,那可以工作,但不知道如何
  • 我认为两者兼而有之。我自己没有尝试自己增加文本/标签。让我们等待 SO 社区的帮助。 :)。但是尝试为每个标签设置高度限制,以便它们可以占用空间以使布局良好。
  • 非常感谢您的来信 - 我很感激,我希望社区可以帮助我不要再经历疯狂的一天! :)
  • 检查一下,UILabel text not automatically resized using Auto Layout,自动布局是以编程方式完成的。

标签: ios objective-c iphone xcode autolayout


【解决方案1】:

您可以在此处为按钮添加纵横比约束。

【讨论】:

  • 感谢 BC,但不幸的是我没有使用图像。只需在 Xcode 中存储 UILabel 和 UIButton;没有图片
  • 然后你必须为两个 UIButtons 添加纵横比约束。你试过吗??
  • 谢谢 BC - 这听起来很不错,现在我正在研究什么以及如何设置纵横比 :)
  • 谢谢。我已经设置了它并且它在某种程度上可以工作,两个按钮的尺寸正在增加,这很好,但它仍然很小,我想知道如何增加按钮。高度的纵横比设置为 62:17
【解决方案2】:

恢复购买 UIButton:

删除以下约束

1.Top Space 无限购买 2.购买100的顶部空间

在“显示助手编辑器”选项中显示“预览”屏幕。使用预览选项检查各种屏幕尺寸。如果需要,请删除并在屏幕中添加约束。此预览选项对于解决自动布局约束问题非常有用。

【讨论】:

  • 感谢 Prabakaran - 不幸的是这不起作用,我正在使用 Preview 来查看每个部分的差异
  • 嗨 lavanya,请删除顶部控件中的所有依赖项并在底部控件中添加依赖项并检查预览。还要对这些约束做一些小的调整。请参考本教程raywenderlich.com/20881/beginning-auto-layout-part-1-of-2。谢谢
猜你喜欢
  • 1970-01-01
  • 2014-06-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-09-15
  • 1970-01-01
  • 1970-01-01
  • 2018-01-14
相关资源
最近更新 更多