- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
你好,我有一个简单的应用程序,我正在尝试创建 html 到 pdf 到 webview 中,看起来很成功,但我想添加与 UIActivityViewController 共享的按钮(打印、邮件等。)
我的代码在这里。
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.
createPDF();
loadPDF("file.pdf");
// ActivityViewController
btn!.setTitle("Open Menu", forState: .Normal)
btn!.addTarget(self, action: "pressBtn:", forControlEvents: .TouchUpInside)
btn!.sizeToFit()
btn!.center = view.center
view.addSubview(btn!)
}
func createPDF() {
let html = "<b>Hello <i>World!</i></b> <p>Generate PDF file from HTML in Swift</p>"
let fmt = UIMarkupTextPrintFormatter(markupText: html)
// 2. Assign print formatter to UIPrintPageRenderer
let render = UIPrintPageRenderer()
render.addPrintFormatter(fmt, startingAtPageAtIndex: 0)
// 3. Assign paperRect and printableRect
let page = CGRect(x: 0, y: 0, width: 595.2, height: 841.8) // A4, 72 dpi
let printable = CGRectInset(page, 0, 0)
render.setValue(NSValue(CGRect: page), forKey: "paperRect")
render.setValue(NSValue(CGRect: printable), forKey: "printableRect")
// 4. Create PDF context and draw
let pdfData = NSMutableData()
UIGraphicsBeginPDFContextToData(pdfData, CGRectZero, nil)
for i in 1...render.numberOfPages() {
UIGraphicsBeginPDFPage();
let bounds = UIGraphicsGetPDFContextBounds()
render.drawPageAtIndex(i - 1, inRect: bounds)
}
UIGraphicsEndPDFContext();
// 5. Save PDF file
let documentsPath = NSSearchPathForDirectoriesInDomains(.DocumentDirectory, .UserDomainMask, true)[0]
pdfData.writeToFile("\(documentsPath)/file.pdf", atomically: true)
}
func loadPDF(filename: String) {
let documentsPath = NSSearchPathForDirectoriesInDomains(.DocumentDirectory, .UserDomainMask, true)[0]
let filePath = "\(documentsPath)/file.pdf"
let url = NSURL(fileURLWithPath: filePath)
let urlRequest = NSURLRequest(URL: url)
webView!.loadRequest(urlRequest)
}
func pressBtn(sender:UIButton){
let documentsPath = NSSearchPathForDirectoriesInDomains(.DocumentDirectory, .UserDomainMask, true)[0]
let filePath = "\(documentsPath)/file.pdf"
let activityItems = [filePath]
let activityViewController = UIActivityViewController(activityItems: activityItems, applicationActivities: nil)
presentViewController(activityViewController, animated: true, completion: nil)
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
当点击按钮出现这个错误
*** Terminating app due to uncaught exception 'NSGenericException', reason: 'UIPopoverPresentationController (<_UIAlertControllerActionSheetRegularPresentationController: 0x79b601b0>) should have a non-nil sourceView or barButtonItem set before the presentation occurs.'
*** First throw call stack:
感谢您的帮助。
最佳答案
您是否尝试过在调用 presentViewController 之前指定源 View ?
let activityViewController = UIActivityViewController(activityItems: activityItems, applicationActivities: nil)
activityViewController.popoverPresentationController?.sourceView = sender
presentViewController(activityViewController, animated: true, completion: nil)
关于ios - Swift UIWebView Pdf 查看 UIActivityViewController 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34905825/
我想让用户能够共享位置但我不知道如何显示 UIActivityViewController在 SwiftUI 中。 最佳答案 UIActivityViewController的基本实现在 SwiftU
当点击取消按钮时,调用哪个委托(delegate)方法?请查看下图。使用 UIActivityViewController 的共享选项 最佳答案 UIActivityViewControllerCom
我希望能够跟踪用户是否通过 facebook、twitter 等共享,但似乎无法知道选择了哪种方法。有没有? 最佳答案 您可以在 setCompletionHandler 中使用事件类型 UIActi
我现在尝试通过 UIActivityViewController 共享 Phasset(视频或图像)。 据我所知,我曾经通过向数组提供 url 并像这样使用来共享位于文档目录中的图像或视频 [[UIA
我实际上正在做一个简单的应用程序,它是 Mememe 类的。我的问题是在使用 UIActivityViewController 时尝试保存、共享等。但为什么它没有发生在这里?我想这是因为传递了一个空图
UIActivityViewController 的标题是如何设置的?我有一个使用自定义 UIActivityItemProvider 和自定义 UIActivity 的 UIActivityView
当我点击我的 barButtomItem 将内容从我的应用程序分享到 FB、Tw、微博和邮件时,我在调试区域收到了这条消息。 iOS6 XCode 4.5.1 2013-03-08 15:59:31.
我正在尝试将屏幕截图附加到我的 UIActivityViewController 中的邮件中,而不将屏幕截图保存到我的库中。到目前为止,这是我的代码: -(IBAction)ActivityContr
在我的表格 View 中,我有几个自定义单元格。一个称为纽扣电池,因为它包含几个按钮。其中之一是我试图调用 UIActivityViewController 的共享按钮。但是,我无法让它工作。我对 U
我是否缺少创建“复制链接”按钮的服务或参数,如 Apple 的 12 天应用程序中所示? 我可以通过允许出现“复制”按钮 UIActivityTypeCopyToPasteboard 在我的 UIAc
我正在从我的 Controller 展示 UIActivityViewController。我遇到了旋转问题。在选择了一些数据共享选项后,比如说“邮件”,邮件撰写 View Controller 就会
我试图使用一个仅包含一个NSData对象的数组,其大小超过5 Mo,且带有initWithActivityItems 当完成处理程序被调用时: [_activityViewController -se
我创建并呈现 UIActivityViewController在我的应用程序中自定义 UIActivity里面的元素。 当我点击 UIActivity图标,UIActivityViewControll
我有一个用 Swift 编写的 iOS 应用程序,并且 UIActivityViewController 中的“取消”按钮缺少文本。该按钮是全白色的。有什么想法吗? func photoEditVie
列出项目 在 iOS 8 中运行的应用程序中使用 Swift,我需要为 UIActivityViewController 编写一个完成处理程序,以捕获用户选择的“共享”方法的结果。 这是我迄今为止的代
我正在开发我的应用程序并想要分享图像。首先我想展示我自己的类“PostCell”(处理我的原型(prototype)单元的类)中的UIActivityViewController。我收到消息“使用未解
我创建了一个自定义 UIActivityViewController 但是当我加载图标时,我所做的让我看到灰色并且你几乎正确加载,有人发生过吗?你是怎么补救的? ActivityViewCustomA
documentation of UIActivityViewController说如下: On iPad, you must present the view controller in a pop
所以我的应用程序中有一个 UIActivityViewController。如何更改背景颜色。我还快速了解如何将 Facebook 和 twitter 添加到我的 UIActivityViewCont
我正在尝试将自定义 UIActivity 添加到 UIActivityController。当我单击该项目时,它会显示我想要的 View Controller ,但是当我完成该 View Contro
我是一名优秀的程序员,十分优秀!