【问题标题】:Is there an override func to allow a webview displaying a pdf to enable pinch & zoom?是否有覆盖功能以允许显示 pdf 的 webview 启用捏合和缩放?
【发布时间】:2019-01-06 04:18:36
【问题描述】:

我能够成功加载 pdf,但是,当加载到我的 iPhone XS Max 上时,它不会捏合和缩放。

我已经环顾了一段时间,之前回答的大多数关于此的问题都说选择“缩放以适应”,但这不是我的 Xcode 中的选项

import UIKit
import WebKit

class constantsinphysicsViewController: UIViewController
{
    @IBOutlet weak var webView: WKWebView!


    override func viewDidLoad()
    {

        super.viewDidLoad()
        // Do any additional setup after loading the view, typically from a nib.


        if let pdf = Bundle.main.url(forResource: "constants", withExtension: "pdf", subdirectory: nil, localization: nil)
        {
            let req = NSURLRequest(url: pdf)
            webView.load(req as URLRequest)


        }

    }
    override func didReceiveMemoryWarning()
    {
        super.didReceiveMemoryWarning()
        // Disposes of any resources that can be recreated
    }

    override func touchesBegan(_ touches: Set<UITouch>, with event: UIEvent?)
    {
        self.view.endEditing(true)
    }
}

【问题讨论】:

  • 底部函数 touchesBegan 用于在屏幕被触摸到其他任何地方时允许键盘消失。如果有帮助,我可以从这个脚本中删除它

标签: xcode10 swift4.2


【解决方案1】:

我没有更改整体视图的类,而是将其保留为 UIView

然后我将“WebKit 视图”拖放到视图本身并将其调整为所需的大小。

最初,我认为我必须通过将垂直空间设置为顶部标签来对其进行布局约束,该垂直间距设置为顶部安全空间。但是,当我尝试在拖放的 WebKit 视图上设置布局约束时,它弄乱了里面的 pdf。因此,只需将顶部标签的布局约束设置为顶部安全空间,将底部按钮设置为底部安全空间,然后单独保留 WebKit 视图(在我对其进行个人调整后)并加载到我的 iPhone 上,它就可以工作了。 .. 并且它启用了捏合和缩放功能!耶耶耶斯!!!

我明天会发布一些过程的图片。

我还是愿意吃cmets。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-10-28
    • 1970-01-01
    • 1970-01-01
    • 2016-02-10
    • 2020-03-30
    • 2011-10-30
    • 2014-03-02
    • 1970-01-01
    相关资源
    最近更新 更多