【问题标题】:Sharing multiple images AND text using activityController is not working使用 activityController 共享多个图像和文本不起作用
【发布时间】:2022-01-06 17:41:13
【问题描述】:

我正在为我的公司制作一个销售应用程序,将图表作为带有文本的图像通过电子邮件发送,但我的应用程序出现问题。

由于某种原因,我不能同时发送多个图像和文本,当激活下面的代码时,只发送文本。

我检查了三次,图像不为零,我可以单独共享文本、多个图像或文本和单个图像。

此外,我只发送两张图片,这仅适用于手机版本。

func EmailMultipleImages(imageArray: [UIImage], emailSubject: String, emailBodyText : String) {
    

    print("Image array \(imageArray.count)")
    do {
        let shareContent: [Any] = [imageArray, emailBodyText]
        
        //Multiple images alone
        //let shareContent: [Any] = [imageArray]
        
        //Text alone
        //let shareContent: [Any] = [emailBodyText]
        
        //One image and text
        //let shareContent: [Any] = [imageArray[0], emailBodyText]
       
        let activityController = UIActivityViewController(activityItems: shareContent, applicationActivities: nil)

        activityController.setValue(emailSubject, forKey: "Subject")
        viewController!.present(activityController, animated: true, completion: nil)
    }
    
    catch {
        print("Error print mulitple images \(error)")
    }

}

【问题讨论】:

    标签: swift xcode email share


    【解决方案1】:

    使该数组成为平面对象,它应该可以工作。

    示例:

    func share() {
        let activityItems = [
            "Title",
            "Body",
            UIImage(systemName: "keyboard")!,
            UIImage(systemName: "square.and.arrow.up")!
        ] as [Any]
        let vc = UIActivityViewController(activityItems: activityItems, applicationActivities: nil)
        vc.setValue("Testing", forKey: "Subject")
        self.present(vc, animated: true, completion: nil)
    }
    

    输出:

    【讨论】:

    • 现在完美运行,非常感谢!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多