Swift 5 thumbnailImageForActivityType方法未调用

问题描述

这是我的代码,仅未调用thumbnailImageForActivityType ...

class ShareMovieEvent: NSObject,UIActivityItemSource {
        
    let movieDate: String
    let movieTitle: String
    let movieDescription: String
    let imageHeader: UIImage
    
    init(movieDate: String,movieTitle:String,movieDescription:String,imageHeader:UIImage) {
        
        self.movieDate = movieDate
        self.movieTitle = movieTitle
        self.movieDescription = movieDescription
        self.imageHeader = imageHeader
        
    }

    func activityViewControllerPlaceholderItem(_ activityViewController: UIActivityViewController) -> Any {
        return ""
    }
    
    func activityViewController(_ activityViewController: UIActivityViewController,itemForActivityType activityType: UIActivity.ActivityType?) -> Any? {
        
        if activityType == UIActivity.ActivityType.message {
            return "\(movieDate) \n\n \(movieTitle) \n\n \(movieDescription)"
        } else if activityType == UIActivity.ActivityType.mail {
            return "\(movieDate) \n\n \(movieTitle) \n\n \(movieDescription)"
        }
        return nil
    }
    
    func activityViewController(_ activityViewController: UIActivityViewController,subjectForActivityType activityType: UIActivity.ActivityType?) -> String {
        if activityType == UIActivity.ActivityType.message {
            return ""
        } else if activityType == UIActivity.ActivityType.mail {
            return "Check this event"
        }
        
        return ""
    }
    
    func activityViewController(_ activityViewController: UIActivityViewController,thumbnailImageForActivityType activityType: UIActivity.ActivityType?,suggestedSize size: CGSize) -> UIImage? {

        return imageHeader
    }
    
}

这是我的ViewModel类中的调用

@objc func shareBtnPressed(_ sender: UIButton){

        let share = ShareMovieEvent(movieDate: movie.date,movieTitle: movie.title,movieDescription: movie.movieDescription,imageHeader: imageHeaderMovie.image!)
        let viewController = UIActivityViewController(activityItems: [share],applicationActivities: [])
        self.pushableViewControllerObservable?(viewController)
    }

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)