在 UITableViewCell 中居中 UIView

Center a UIView inside a TableViewCell

我一直面临一个我以前从未遇到过的奇怪问题(对 iOS 来说还是个新问题)。我正在尝试开发一个博客 reader 应用程序,并且在我的主视图中使用了一个 UITableView。在 TableView 中,我添加了 1 个原型单元格并将其高度修改得更大一些。

为了在 TableViewVell 中创建 "floating"、"shadow" 或 "card" 效果,我添加了另一个包含封面图像和摘要的视图。

我面临的问题与 Storybords 预览助手显示的布局有关。

即使对于 iPhone 8 (xCode 9.1),根据我设置的限制,一切看起来都很好,但对于 iPhone SE 和 8 Plus,事情看起来很奇怪即使在模拟过程中,事情看起来并不像描述的那样。

我看过 WWDC 视频、YouTube 视频,甚至一些很棒的教程,但 none 似乎超越了基础知识,实际上涵盖了我面临的这个问题。

这是截图:

XCode Storyboards Preview

我做了一个项目的简化演示,可以在 GitHub 上查看:

https://github.com/sebastiannitu/ConstraintIssues

如果有人能一劳永逸地为我解决这个问题,我将不胜感激。我确定这只是我在做一些愚蠢的事情,但我真的不能再浪费时间了。我已经投入了大约 2 周的时间来解决这个问题!

非常感谢您的提前回复!

您的约束设置没问题。问题只出在助理编辑身上。如果你 运行 它在你的模拟器中,视图(橙色视图)将自动调整大小。

这是橙色视图的屏幕截图,当 运行 宁在 iPhone 8 秒(左)和 iPhone 5 秒时。

我没有上传项目,但如果您有任何问题,请告诉我。

这是 Xcode 中的一个轻微错误,但没什么大不了的。这样做:

  1. 更改canvas中的设备类型,例如至 iPhone SE.

  2. 切换到您的代码,例如ViewController.

  3. 切换回故事板。请注意,约束现在已固定在 canvas!

  4. 显示该设备类型的预览

所以这有点烦人,但确实有效。这是 iPhone SE 的预览:

这是 iPhone X:

的预览