如何从 swift 中的 UICollectionView 中的 UIView 移除焦点阴影?

How do I remove the focus shadows from a UIView in a UICollectionView in swift?

我正在 swift 中开发一个 tvOS 项目并且有一个水平对齐的 UICollectionView,其中每个 UICollectionViewCell 都是一个自定义 UIView,由一个 UIImageView 和一个Label 在它下面。所以我的 UICollectionView 看起来像这样:

| UIImageView |   | UIImageView |
| Label       |   | Label       |  

我还希望图像 grow/shrink 随着特定视图获得和失去焦点。在我的 collection 视图中,我添加了代码

func collectionView(collectionView: UICollectionView, canFocusItemAtIndexPath indexPath: NSIndexPath) -> Bool {
        return true
}

在我的自定义单元格中 class 我有行

imageView.adjustsImageWhenAncestorFocused = true;

所以这有点管用,尽管有 2 个问题。

似乎 collection 中的所有视图下面都有一个奇怪的阴影,即使它们没有聚焦。然后当他们聚焦时,图像会按预期增长,但它下面有另一个阴影。你可以在这里明白我的意思:

collection 中的第一项具有焦点

如何摆脱它们?我已经尝试了所有这些,但 none 似乎有效

contentView.layer.shadowOpacity = 0.0  // My imageView is a subview of this
contentView.layer.shadowColor = UIColor.clearColor().CGColor
imageView.layer.shadowOpacity = 0.0
imageView.layer.shadowColor = UIColor.clearColor().CGColor

现在不可能。我把这个问题转发给苹果,得到的回复是:https://forums.developer.apple.com/message/105045#105045

我找到了 UITableViewCell 和 CollectionViewCell 的解决方案:

self.clipToBounds = true

self.layer.cornerRadius = 10

如果您需要恢复圆角边缘。