【问题标题】:How do I get my UIWebView to automatically fit content like a WKWebView does?如何让我的 UIWebView 像 WKWebView 一样自动适应内容?
【发布时间】:2015-09-14 20:19:38
【问题描述】:

我正在比较 UIWebView 和 WKWebView 以查看哪个最适合显示 PDF 内容。我意识到 WKWebView 会自动缩放内容以适应屏幕而无需代码,如下所示:

[]1[]2

虽然无论我尝试在 UIWebView 中实现什么代码,内容都不会像 WKWebView 那样适合,这就是它在我的 UIWebView 中的样子:

and here is the code for my webView:

class WebView: UIViewController, UIWebViewDelegate, UIGestureRecognizerDelegate {

    @IBOutlet var myWebView: UIWebView!


    var contentUrlPassedOn: String!

    override func viewDidLoad() {
        super.viewDidLoad()

        myWebView.delegate = self

        let url: NSURL! = NSURL(string: contentUrlPassedOn)
        myWebView.loadRequest(NSURLRequest(URL: url))

        self.myWebView.scalesPageToFit = true
        myWebView.contentMode = UIViewContentMode.ScaleAspectFit
        myWebView.frame = self.view.frame
        myWebView.scrollView.bouncesZoom = true

    }

如何让我的 UIWebView 适合 WKWebView 等内容?

【问题讨论】:

    标签: ios xcode swift uiwebview wkwebview


    【解决方案1】:

    这是在 Objective-C 中,但我就是这样做的。如果你翻译它就可以了。

    [self.webView setScalesPageToFit:YES];
    

    也许,删除这条线也有助于解决问题。不确定你是否真的需要它:

    myWebView.contentMode = UIViewContentMode.ScaleAspectFit
    

    另一个想法是您应该设置自动布局约束以将您的 UIWebView 固定到顶部和侧面,这样它就不会调整到大于屏幕尺寸。

    这是我在 Objective-C 中如何做到这一点的示例:

    NSURLRequest*request=[NSURLRequest requestWithURL:url];
    [self.webView loadRequest:request];
    
    [self.webView setScalesPageToFit:YES];
    
    self.webView.delegate = self;
    

    【讨论】:

    • 我的 viewDidLoad 中已经有该行,但它不起作用,但我的 webView 有约束将其固定到视图的各个方面
    • 您是否尝试删除我建议的行,同时删除设置 UIWebView 的 frame 属性的行。不确定这是否会产生任何影响,但我在调用 setScalesPageToFit 之后设置了我的 delegate=self。您正在测试哪个 iOS 版本,这可能会产生影响。
    • 实际上,可能发生的情况是调用 loadRequest 可能需要比预期更长的时间,并且在 UIWebView 获得其内容之前调用 scalesPageToFit。只是另一个想法要检查...
    • 在 8.4 上测试,我在进度条代码中移动了 scalesPageToFit,所以在进度条加载完成后,`scalesPageToFit`,但没有成功。很奇怪
    • 我更新了关于如何在 Objective-C 中执行此操作的答案。此代码完全按照您的意愿运行,因此问题很可能来自其他地方。
    猜你喜欢
    • 2016-01-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-09
    • 1970-01-01
    • 1970-01-01
    • 2011-06-23
    • 1970-01-01
    相关资源
    最近更新 更多