我在我的应用程序中发现了一些回归,我敢肯定我现在仅在Xcode 11.3.1(iOS 13)上开始。
它曾经很不错,但是现在我们开始看到一些奇怪的东西。我们添加到每个单元格的阴影在表格视图滚动中突然消失了。
应用程序使用UITableView
,并且在内部委托方法willDisplayCell:
中,我们将此代码称为:
dispatch_async(dispatch_get_main_queue(), ^{
view.layer.cornerRadius = 4.0f;
view.layer.borderWidth = 1.0f;
view.layer.borderColor = [UIColor clearColor].CGColor;
view.layer.shadowColor = shadowColor != nil ? shadowColor.CGColor : [[UIColor lightGrayColor] CGColor];
view.layer.shadowOffset = CGSizeMake(0, 2.0f);
view.layer.shadowRadius = 2.0f;
view.layer.shadowOpacity = 1.0f;
view.layer.masksToBounds = NO;
view.layer.shadowPath = [UIBezierPath bezierPathWithRoundedRect:view.bounds cornerRadius:view.layer.cornerRadius].CGPath;
});
我尝试过view.layer.zPosition
和view.backgroundColor=UIColor.clearColor
时没有运气。
有人知道那里发生了什么吗?
更新:
同样的问题也发生在UICollectionView中。
回答评论:
UIUserInterfaceStyle
更改为“ Light”没有帮助。尝试将下面的阴影作为下面的代码添加到collectionview单元的awakefrom nib中。
override func awakeFromNib() {
super.awakeFromNib()
view.layer.shadowColor = UIColor.red.cgColor
view.layer.shadowOffset = CGSize(width: 0, height: 2)
view.layer.shadowRadius = 2
view.layer.shadowOpacity = 1
view.layer.masksToBounds = false
}