【问题标题】:How to resize a Maxpreps HTML widget to fit the UIWebView?如何调整 Maxpreps HTML 小部件的大小以适应 UIWebView?
【发布时间】:2016-01-03 18:10:45
【问题描述】:

我正在尝试在我的应用程序中使用 Maxpreps 小部件 (http://www.maxpreps.com/widgets/createwidget.aspx) 来显示学校体育动态。 我在 xcode 中制作了一个 html 文件并粘贴了 Maxpreps 提供的代码。我创建了一个 webview 并使用了视图控制器上的代码。

    @IBOutlet weak var sportsTest: UIWebView!

    sportsTest,loadRequest(NSURLRequest(URL: NSURL(fileURLWWithPath: NSBundle.mainBundle().pathForResource("widgetcode", ofType: "html")!)))

问题是在显示代码时它不适合 UIWebView。

【问题讨论】:

    标签: ios swift webview


    【解决方案1】:

    您遇到的 HTML 不适合 UIWebView 的问题并不容易解决,但我可以给您一个技巧,让您的内容显示在屏幕上。

    问题在于 Maxpreps 从其小部件中的 URL 加载的网页并非旨在完全适合纵向的 iPhone。然而,它是一个响应式 HTML 页面,所以这是个好消息。

    首先,您不需要加载脚本标签或编写 HTML 文件,因为您只需点击一个链接,对吗?你不想要那个链接,你想要链接后面的内容,对吧?希望!

    这个视图控制器实现应该可以正常工作:

    import UIKit
    
    class ViewController: UIViewController {
    
        @IBOutlet var webView: UIWebView!
    
        override func viewDidLoad() {
            super.viewDidLoad()
            // This will force the UIWebView to downscale and fit your page, but
            // it is hacky because 91% of original size might not always be the
            // right amount.  This is why I said it is hard.
            self.webView.scrollView.minimumZoomScale = 0.3
            self.webView.scrollView.maximumZoomScale = 2.0
            self.webView.scrollView.setZoomScale(0.91, animated: false)
        }
    
        override func viewWillAppear(animated: Bool) {
            if let url = NSURL(string: "http://www.maxpreps.com/local/team/home.aspx?gendersport=boys,baseball&schoolid=45823724-55bc-4d89-926b-b1974b3d8e36") {
                let request = NSURLRequest(URL: url)
                webView.loadRequest(request)
            }
            else {
                println("Failed to create URL")
            }
        }
    }
    

    上述方法可行,但恕我直言,更好的解决方案是:

    1) 要求 Maxpreps 修复其响应式 HTML 页面,以便它在 iPhone 上以纵向呈现

    2) 完全抛弃 HTML 并使用 REST API 查询您需要的信息(如果他们提供可用的信息),然后编写一个原生的非 HTML 屏幕

    3) 尝试找到可行的动态缩放解决方案。根据我的经验,这些很容易失败

    Here is what I see on my simulator when I run it: Another example:

    【讨论】:

    • 这是一篇 Stackoverflow 帖子,内容是关于人们尝试根据滚动视图大小的边界自动缩放,但这在我的实验中并不可靠:stackoverflow.com/questions/1511707/…
    • 你打赌。祝你好运!
    猜你喜欢
    • 2011-08-20
    • 1970-01-01
    • 2011-08-12
    • 2011-05-08
    • 2020-11-30
    • 2022-01-03
    • 1970-01-01
    • 1970-01-01
    • 2011-12-31
    相关资源
    最近更新 更多