iPhone 和 iPad 的动态 xib 布局

Posted

技术标签:

【中文标题】iPhone 和 iPad 的动态 xib 布局【英文标题】:Dynamic xib layout for iPhone and iPad 【发布时间】:2014-05-12 23:39:53 【问题描述】:

我有一个 xib 文件,您可以在下图中看到。

我想知道如何制作它,以便在 iPhone 或 iPad 设备上使用时正确布局。

请注意,标签中的文字仅用作占位符。

到目前为止,我可以调整宽度

1997 到 1998 标签 销售说明标签

以及图像的定位没有任何问题,当我尝试布局 UILables 的底线时,我遇到的问题发生了。完全搞砸了

这就是我想要达到的目标

卡片应保持在同一位置且不改变宽度 023 也应该保持在同一个位置并且不改变宽度 Num 应根据设备类型水平更改其位置,但保持其宽度 8 应该改变它相对于 Num 的位置,但是它的宽度应该独立改变 Uni0052 的行为应该类似于 Num8

考虑到这一点,这可能吗?如果是这样,那么我希望也许有人可以给我一些他们认为可以帮助的指示或教程。我看过一些教程,但是让我失望的是相对定位。

【问题讨论】:

【参考方案1】:

您尝试做的事情都可以通过 Autolayout 约束轻松解决。

有一点学习曲线,但值得付出努力。几乎所有您想做的事情都可以在无需维护代码的情况下完成。

这是一个很好的 Autolayout 入门:

http://www.raywenderlich.com/64392/video-tutorial-beginning-auto-layout

【讨论】:

好吧,所以我想我几乎拥有它。我需要做的唯一改变是根据文本量使 8 标签宽度动态化。我没有看到视频教程中的一种方法......你知道怎么做吗? 删除您希望增加更多文本的项目的任何宽度限制,或使任何宽度限制“大于或等于”并设置最小值。在界面生成器中,确保“固有大小”设置为“默认(系统定义)”。另外,请确保对于“Num:”、“Uni:”等,x 位置约束是相对于前一个视图设置的,因此随着文本数量的增长,一切都会向右移动。

以上是关于iPhone 和 iPad 的动态 xib 布局的主要内容,如果未能解决你的问题,请参考以下文章

自动调整 iPhone xib 应用程序到 ipad 的大小

在 xib 文件上设置的约束不适用于 ipad ios

自动布局 UITableViewCell

XIB 文件与在 iPhone 中的代码中定义布局

为 iPad 和 iPhone 使用相同的 XIB

适用于 ipad 和 iphone 的 MainWindow.xib