裁剪屏幕截图并分享?

Crop screenshot and share?

我已经完成了不带导航栏的完整屏幕截图的编码,但我也不想要 "Motivate me" 按钮。

另外,如果有人知道如何将裁剪屏幕截图分享到 Facebook?

截图代码如下:

UIGraphicsBeginImageContextWithOptions(UIScreen.mainScreen().bounds.size,false,0);
self.view.drawViewHierarchyInRect(view.bounds, afterScreenUpdates: true)
var image:UIImage = UIGraphicsGetImageFromCurrentImageContext();

UIGraphicsEndImageContext();

确保“激励我”按钮不在您截取屏幕截图的视图的层次结构中。将它移到一个单独的视图上,然后使用您已有的相同代码。这将完全满足您的需求。

或者,如果您想裁剪整张照片,可以使用以下方法,请替换 heightOfButton 中的值以适合:

var heightOfButton: CGFloat = 100
var size = UIScreen.mainScreen().bounds.size
size.height -= heightOfButton
UIGraphicsBeginImageContextWithOptions(size,false,0);
self.view.drawViewHierarchyInRect(view.bounds, afterScreenUpdates: true)
var image:UIImage = UIGraphicsGetImageFromCurrentImageContext();

UIGraphicsEndImageContext();

截屏前隐藏UIButton,截屏后取消隐藏

func screenshot() {
    // Hide button
    myButton.alpha = 0.0

    // Take screenshot
    UIGraphicsBeginImageContextWithOptions(UIScreen.mainScreen().bounds.size,false,0)
    self.view.drawViewHierarchyInRect(view.bounds, afterScreenUpdates: true)
    var image:UIImage = UIGraphicsGetImageFromCurrentImageContext()
    UIGraphicsEndImageContext()

    // Unhide button
    myButton.alpha = 1.0
}

要将您的图片分享到 Facebook,您可以使用 SLComposeViewController

附带说明一下,您不需要在 Swift.

中每行的末尾使用 ;