UIWebview
にPDFを読み込み、背景色を変更して不透明をfalseに設定しました。しかし、今ではに余分なスペースや余白がありますので、私は削除したいので、UIWebview
が画面です。 UIWebviewパディング/マージンを削除する
UIWebview
作成:
let webview = UIWebView()
webview.frame = self.view.bounds
webview.scrollView.frame = webview.frame
webview.userInteractionEnabled = true
webview.scalesPageToFit = true
webview.becomeFirstResponder()
webview.delegate = self
webview.scrollView.delegate = self
webview.opaque = false
webview.backgroundColor = UIColor.clearColor()
self.view.addSubview(webview)
webview.loadRequest(NSURLRequest(URL:url))
webview.gestureRecognizers = [pinchRecognizer, panRecognizer]
を、私はwebViewDidFinishLoad方法
func webViewDidFinishLoad(webView: UIWebView) {
let padding = "document.body.style.margin='0';document.body.style.padding = '0'"
webView.stringByEvaluatingJavaScriptFromString(padding)
}
にこれを適用したが、まだ詰め物や余裕がある、それは次のようになります。
どうすれば修正できますか?
func drawPDFUsingPrintPageRenderer(printPageRenderer: UIPrintPageRenderer) -> NSData! {
let data = NSMutableData()
UIGraphicsBeginPDFContextToData(data, CGRectZero, nil)
UIGraphicsBeginPDFPage()
printPageRenderer.drawPageAtIndex(0, inRect: UIGraphicsGetPDFContextBounds())
UIGraphicsEndPDFContext()
return data
}
:私はそれを保存するとき、私はここに、余分なスペースもあることを、PDFとしてのUIWebViewを節約することになるだろうとしていますので、私は、これは固定必要がある理由がある
は私のPDFは、コードを生成でWeb表示は、そうでない場合は、原点と不要な効果でありながら
、よりウェブビューフレームにスクロールビューの枠を設定する
let screenHeight = appDelegate.webview!.scrollView.bounds.size.height
let heightStr = appDelegate.webview!.scrollView.bounds.size.height
let height = heightStr
let pages = ceil(height/screenHeight)
let pdfMutableData = NSMutableData()
UIGraphicsBeginPDFContextToData(pdfMutableData, appDelegate.webview!.scrollView.bounds, nil)
for i in 0..<Int(pages)
{
if (CGFloat((i+1)) * screenHeight > CGFloat(height)) {
var f = appDelegate.webview!.scrollView.frame
f.size.height -= ((CGFloat((i+1)) * screenHeight) - CGFloat(height));
appDelegate.webview!.scrollView.frame = f
}
UIGraphicsBeginPDFPage()
let currentContext = UIGraphicsGetCurrentContext()
appDelegate.webview!.scrollView.setContentOffset(CGPointMake(0, screenHeight * CGFloat(i)), animated: false)
appDelegate.webview!.scrollView.layer.renderInContext(currentContext!)
}
UIGraphicsEndPDFContext()
それはPDFコンテンツ自体ははめ込みでフォーマットされている可能性がありますか?とにかく、スクロールビューフレームを混乱させないでください。それは何もしていません。なぜなら、Webビューはおそらく親の起源にあり、そうでなければ有害であるからです。私は、YESが既にscalesPageToFitのデフォルト値であると推測します。私が提供できる最も建設的なアイデアはwebView.scrollView.contentInsetです。 – danh
これを答えに置くことができますか。 – user979331