Swift 从 UIView 的层中获取 UIImage
Posted
技术标签:
【中文标题】Swift 从 UIView 的层中获取 UIImage【英文标题】:Swift Get UIImage from layers of UIView 【发布时间】:2017-08-16 22:56:22 【问题描述】:我的 UIView 中有 CAShapeLayers,我想要视图中的 UIImage。 所以我正在尝试通过下面的函数,但在处出现错误 UIGraphicsGetCurrentContext()
extension UIView
func getImgFromVyuFnc() -> UIImage
UIGraphicsBeginImageContext(self.frame.size)
self.layer.renderInContext(UIGraphicsGetCurrentContext())
let image = UIGraphicsGetImageFromCurrentImageContext()
UIGraphicsEndImageContext()
return image!
致命错误:在展开可选值时意外发现 nil 2017-08-17 04:17:47.230474 PicPac[1095:488887] 致命错误:在展开可选值时意外发现 nil
【问题讨论】:
最可能的问题是self.frame.size
在一个或两个维度上为零。
很高兴我能提供帮助。现在作为答案发布。祝你的应用好运!
【参考方案1】:
如果传递给UIGraphicsBeginImageContext(_)
的大小在一个或两个维度中为零,则UIGraphicsGetCurrentContext()
返回nil
,UIGraphicsGetImageFromCurrentImageContext()
也是如此。
【讨论】:
感谢您的提示和设置帧大小对我有用。你也可以考虑为我的问题投票吗?所以它会出现并帮助像我一样面临问题的其他人。以上是关于Swift 从 UIView 的层中获取 UIImage的主要内容,如果未能解决你的问题,请参考以下文章
使用标识符/标签 (SWIFT) 从 UIView 获取 UITextField
Qt GraphicsScene XOR Line 或 Line 在单独的层中?
如何从 Swift 中的 ViewController 获取 UIView 子类实例