在 uiTableViewCell 中将 UIView 居中
Posted
技术标签:
【中文标题】在 uiTableViewCell 中将 UIView 居中【英文标题】:Center a UIView inside a TableViewCell 【发布时间】:2017-11-13 19:44:41 【问题描述】:我遇到了一个以前从未遇到过的奇怪问题(对 ios 来说还很新)。我正在尝试开发一个博客阅读器应用程序,并且在我的主视图中使用 UITableView。在 TableView 中,我添加了 1 个原型单元并将其高度修改为更大一些。
为了在 TableViewVell 中创建“浮动”、“阴影”或“卡片”效果,我添加了另一个包含封面图像和摘要的视图。
我面临的问题与 Storybords 的预览助手显示的布局有关。
即使对于 iPhone 8 (xCode 9.1),根据我设置的限制条件,一切看起来都很好,但对于 iPhone SE 和 8 Plus,情况看起来却很奇怪,即使在模拟过程中,事情看起来并不像描述的那样。
我看过 WWDC 视频、YouTube 视频,甚至是一些很棒的教程,但似乎都没有超越基础知识,真正涵盖了我面临的这个问题。
截图如下:
XCode Storyboards Preview
我做了一个项目的简化演示,可以在 GitHub 上查看:
https://github.com/sebastiannitu/ConstraintIssues
如果 seomeone 能一劳永逸地为我解决这个问题,我将不胜感激。我确信这只是我在做一些愚蠢的事情,但我真的不能再浪费时间了。我已经投入了大约 2 周的时间来解决这个问题!
非常感谢您提前回复!
【问题讨论】:
似乎是预览中的错误。该问题仅在使用助理编辑器打开时处于预览状态,如果您只是在情节提要本身中选择各种设备(您将用于将约束应用于各种尺寸类的设备),您将看到您的视图正在根据单元格的框架进行扩展.所以我相信你的约束没有问题 我也看到了与 Xcode 10.1 类似的情况。在这里查看我的问题***.com/questions/54524507/… 【参考方案1】:这是 Xcode 中的一个轻微错误,但没什么大不了的。这样做:
在 canvas 中更改 设备类型,例如到 iPhone SE。
切换到您的代码,例如视图控制器。
切换回情节提要。请注意,约束现在已固定在画布中!
显示该设备类型的预览。
所以它有点烦人,但它确实有效。这是 iPhone SE 的预览:
这是 iPhone X 的预览:
【讨论】:
【参考方案2】:您的约束设置很好。问题是只有助理编辑。如果您在模拟器中运行它,视图(橙色视图)将正确调整大小。
这是橙色视图在 iPhone 8s(左)和 iPhone 5s 上运行时的屏幕截图。
我没有上传项目,但如果您有问题,请告诉我。
【讨论】:
以上是关于在 uiTableViewCell 中将 UIView 居中的主要内容,如果未能解决你的问题,请参考以下文章
尝试在 ios 6 中将 uibarbutton 样式的相机添加到 uitableviewcell
在 uiTableViewCell 中将 UIView 居中
无法在 IOS 6 中将 UILabel 添加到 UITableViewCell