Swift 阴影渲染不正确?敏捷的
我有一个简单的阴影代码,我想知道为什么阴影看起来像移到了左侧。我还附上该问题的图片 我很确定这不应该与偏移有关,因为宽度偏移等于零。有没有办法解决这个问题?谢谢Swift 阴影渲染不正确?敏捷的,swift,user-interface,shadow,Swift,User Interface,Shadow,我有一个简单的阴影代码,我想知道为什么阴影看起来像移到了左侧。我还附上该问题的图片 我很确定这不应该与偏移有关,因为宽度偏移等于零。有没有办法解决这个问题?谢谢 self.layer.shadowColor = UIColor.init(hexFromString: "000000").cgColor self.layer.shadowPath = UIBezierPath(rect: self.bounds).cgPath self.layer.rasterizationS
self.layer.shadowColor = UIColor.init(hexFromString: "000000").cgColor
self.layer.shadowPath = UIBezierPath(rect: self.bounds).cgPath
self.layer.rasterizationScale = UIScreen.main.scale
self.layer.shouldRasterize = true
self.layer.shadowOpacity = 0.1
self.layer.shadowOffset = CGSize(width: 0, height: offSetHeight)
self.layer.shadowRadius = 1
self.layer.masksToBounds = false
指定阴影半径后,阴影将渲染到所有方向,而不是单个方向。如果要从任意一个方向删除阴影,可以在另一个视图中将其删除,并将“剪辑到边界”(clips to bounds)设置为true。尝试删除设置为“仅保留”(leave only)的额外属性:阴影颜色、阴影不透明度、阴影偏移量、阴影半径、.MasksToBounds。您在哪里调用此代码?可能您在布局完成之前设置了阴影路径。哦,是的,您说得对,谢谢!我在加载布局之前就调用了它,但是为什么阴影会渲染到左侧大约50个点?它应该是该视图的整个宽度。你看到右边的空白了吗?我猜也应该有阴影,你会在视图的帧最终确定之前加载阴影。在iOS 13之前,有一个新的API ViewSafeAreaInsettsDidChange,您可以在其中更新UI。