Activity 用于共享屏幕截图的控制器显示为空
Activity controller for sharing screenshots displays empty
我希望我的代码在单击名为共享的按钮时共享屏幕截图。
按钮函数如下所示:
Swift 3
func shareBtnAction(_ sender: AnyObject) {
// first I take a screenshot of the drawing
UIGraphicsBeginImageContext(drawingAreaView.bounds.size)
drawingAreaView.image?.draw(in: CGRect(x: 0, y: 0, width: drawingAreaView.frame.size.width, height: drawingAreaView.frame.size.height))
// defining the variable for activityItems
let image = UIGraphicsGetImageFromCurrentImageContext()
UIGraphicsEndImageContext()
// Initialize and present UIActivityViewController
let activity = UIActivityViewController(activityItems: [image], applicationActivities: nil)
present(activity, animated: true, completion: nil)
}
结果看起来像这样:
当我用文本字符串替换图像时我的代码有效
func shareBtnAction(_ sender: AnyObject) {
// defining the variable for activityItems
let text = "This is a test"
// Initialize and present UIActivityViewController
let activity = UIActivityViewController(activityItems: [text], applicationActivities: nil)
present(activity, animated: true, completion: nil)
}
所以我猜我的代码无法将图像识别为 UIImage。我只是想不通为什么。
我想通了,swift 3 希望您将 UIGraphicsGetImageFromCurrentImageContext 更具体地初始化为 UIImage 类型:
let image: UIImage = UIGraphicsGetImageFromCurrentImageContext()!
或 Swift 4:
let image = UIGraphicsGetImageFromCurrentImageContext() as Any
我希望我的代码在单击名为共享的按钮时共享屏幕截图。
按钮函数如下所示:
Swift 3
func shareBtnAction(_ sender: AnyObject) {
// first I take a screenshot of the drawing
UIGraphicsBeginImageContext(drawingAreaView.bounds.size)
drawingAreaView.image?.draw(in: CGRect(x: 0, y: 0, width: drawingAreaView.frame.size.width, height: drawingAreaView.frame.size.height))
// defining the variable for activityItems
let image = UIGraphicsGetImageFromCurrentImageContext()
UIGraphicsEndImageContext()
// Initialize and present UIActivityViewController
let activity = UIActivityViewController(activityItems: [image], applicationActivities: nil)
present(activity, animated: true, completion: nil)
}
结果看起来像这样:
当我用文本字符串替换图像时我的代码有效
func shareBtnAction(_ sender: AnyObject) {
// defining the variable for activityItems
let text = "This is a test"
// Initialize and present UIActivityViewController
let activity = UIActivityViewController(activityItems: [text], applicationActivities: nil)
present(activity, animated: true, completion: nil)
}
所以我猜我的代码无法将图像识别为 UIImage。我只是想不通为什么。
我想通了,swift 3 希望您将 UIGraphicsGetImageFromCurrentImageContext 更具体地初始化为 UIImage 类型:
let image: UIImage = UIGraphicsGetImageFromCurrentImageContext()!
或 Swift 4:
let image = UIGraphicsGetImageFromCurrentImageContext() as Any