UITableViewCell 上的背景视图在使用切片 xcasset 时拥抱内容

Posted

技术标签:

【中文标题】UITableViewCell 上的背景视图在使用切片 xcasset 时拥抱内容【英文标题】:Background view on UITableViewCell hugs content when using slicing xcassets 【发布时间】:2014-11-06 08:50:10 【问题描述】:

我有一些非常简单的 UITableViewCells,只有一行 UILabel 和 UIImageView(白色箭头)。 UILabel 锚定到它的父(内容视图)顶部/底部,箭头现在无关紧要。当我尝试将背景视图设置为从 xcassets 加载可拉伸图像的 UIImageView 时,此图像视图会拥抱由于某种原因自动调整为 sizeToFit 的标签。

我已经对标签和背景视图设置了约束,以将它们锚定到内容视图的顶部/底部,但它们仍然变小。

单元格的高度是 50pt,标签大约是 20pt,因此差异非常明显。

知道我应该怎么做才能让背景视图填充整个内容视图吗?

编辑:

在下图中,您可以看到 2 个单元格,其中一个处于选中状态。底部单元格具有背景视图和选定的背景视图集。背景视图(黑色)没有垂直切片,它只是高度为 50pt 的图像,选定的背景视图(红色)启用了切片,它垂直地拥抱标签。

我想要实现的是为背景和选定的背景视图启用切片,并让它的行为类似于图像上的非切片背景视图,即填充单元格的整个内容视图

编辑 2:

在设置为单元格背景视图的 imageview 上设置的单元格布局和约束的屏幕截图

【问题讨论】:

你能解释清楚你想要什么吗? 我不确定我能不能:) 我会上传一张应该有帮助的图片 如果要填充,请在情节提要中自行设计。 我不确定你的意思。它是在故事板中设计的,有两个 ImageView,都设置了约束以完全填充内容视图,请参阅我的第二次编辑 【参考方案1】:

我发现相关问题的答案有帮助,所以这可能是重复的。

UITableView - SelectedBackgroundView not working in ios7 with Auto-Layout

解决方案是以编程方式创建这些背景视图,因为界面生成器中可能还有另一个错误正在搞砸。

【讨论】:

以上是关于UITableViewCell 上的背景视图在使用切片 xcasset 时拥抱内容的主要内容,如果未能解决你的问题,请参考以下文章

UITableViewCell 选择样式更改所有子视图的背景颜色

在 iOS 7 中为 UITableViewCell 使用背景视图涵盖了默认删除按钮

如何以编程方式在 UITableViewCell 中添加自定义视图?

自定义 UITableViewCell 背景,何时重新加载等

在普通样式表视图上设置 UITableViewCell 背景颜色?

设置 UITableViewCell 的背景视图 - 哪种方式更好?