如何从 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
如果您需要恢复圆角边缘。
我正在 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
如果您需要恢复圆角边缘。