【问题标题】:Crop screenshot and share?裁剪屏幕截图并分享?
【发布时间】:2015-08-26 13:42:07
【问题描述】:

我已经完成了没有导航栏的完整截图的编码,但我也不想要“激励我”按钮。

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

截图代码如下:

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

UIGraphicsEndImageContext();

【问题讨论】:

    标签: ios swift uigraphicscontext


    【解决方案1】:

    确保“激励我”按钮不在您正在截屏的视图的层次结构中。将其移至单独的视图,然后使用您已有的相同代码。这将完全符合您的要求。

    或者如果你想裁剪整张照片,你可以使用以下,请替换 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();
    

    【讨论】:

    • 我们不能只写代码并裁剪图像并将其保存到照片库中
    • @swimnny 89 感谢您的回答。它很棒,但宽度不太好,所以如何更改宽度
    • 您可以使用 size.width = //将值放在这里来改变宽度。在 size.height -= heightOfButton 之后和 UIGraphicsBegin 之前的行上执行此操作...
    • 没问题,很高兴我能帮上忙。
    • 如果我想将作物分享到 Facebook,你能帮我吗? @Swinny89
    【解决方案2】:

    截屏前隐藏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 中的每一行末尾使用 ;

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-08-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多