iPad 的自动布局问题

Posted

技术标签:

【中文标题】iPad 的自动布局问题【英文标题】:AutoLayout issue with an iPad 【发布时间】:2015-09-01 22:32:51 【问题描述】:

我在表格单元格上使用带有 UIImageView 和 UILabel 的 TableView。我为 UIImageView 设置约束,如下所示:

对于 UILabel,我设置了如下约束:

所有约束集在我想要的每个 iPhone 型号上都能正常工作,但在 iPad 上却没有按预期工作。单元格的右侧有一个间隙。我希望 UILabel 完全填满右侧的 8 边距。

如何解决这个问题?我做错了吗?有什么建议吗? 谢谢。 :)

【问题讨论】:

你是否通过约束设置 UILabel 宽度? 我认为这是 xcode 中的显示故障。我经常看到这种情况,它似乎将所有内容都剪裁到 600 宽。当你实际在模拟器中运行它时,它看起来像这样吗?在 xcode 中,如果您将设计模式更改为 wRegular/hRegular 然后查看预览,它应该看起来正确。 @slonkar 不,我没有为 UILabel 设置宽度限制 @RoryMcKinnel 是的,当我将模式更改为 wRegular/hRegular 时,我可以看到我想要的设计。但是在模拟器中运行它时,即使在 iPhone 中,我看到的设计与我设计的不同。 :( 图像出现在单元格的中心,标签没有显示。即使图像的大小超过 103x103。 @bgsudeep 是单元格内容视图中的图像和标签还是中间有其他视图?另外,您是在使用 ios8+ 自动调整单元格大小还是在 heightForRowAtIndexPath 中自己调整单元格大小?值得您展示heightForRowAtIndexPathcellForRowAtIndexPath 的代码。还要在调试器控制台中查找与无法满足约束和系统不得不中断一个或多个相关的任何错误。 【参考方案1】:

似乎您正在使用 wAny hAny 大小类。为图像视图和标签添加的约束看起来不错。如果您在视图控制器中拖动表视图,请检查表视图约束。或者您可以尝试为标签提供纵横比,也许这可以解决您的问题。

【讨论】:

有了你之前给出的所有约束,只需设置图像视图的纵横比。这是解决问题的第二种方法。

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

iPad屏幕不支持自动布局

ipad中的自动布局

iPad 的自动布局问题

iPad 和 iPhone 上的自动布局?

iPad纵向和横向的自动布局iOS8

如何使用自动布局为 UIView 提供两种尺寸(适用于 iPhone 和 iPad)?