IOS webview全屏显示

时间:2017-09-20 11:58:20

标签: ios swift uiwebview

这是一个非常简单的问题,但我对IOS dev和Swift完全不熟悉。

我正在尝试添加一个webview并使其填满整个屏幕。

这是我的代码

 override func viewDidLoad() {
        super.viewDidLoad()

        let myWebView:UIWebView = UIWebView(frame: CGRect(x: 0, y: 0, width: 300, height: 300))

        self.view.addSubview(myWebView)
        let url = URL (string: "https://google.com");
        let request = URLRequest(url: url! as URL);
        myWebView.loadRequest(request);
        }

当我运行应用程序时,只会出现一个白色屏幕。我可以将html加载为字符串(loadHTMLString)

所以2个问题

  • 如何获取网络视图以获得全屏尺寸?
  • 为什么我不能加载网址 - 我只能获得白屏

6 个答案:

答案 0 :(得分:2)

试试这个。

  <div class="row contact-form">
        <div class="col-lg-12 col-md-12 col-sm-12 col-xs-12">
            <form class="form-horizontal">
                <div class="form-group">
                    <label class="control-label">Full Name :</label>
                    <div class="">
                        <input type="text" class="form-control" />
                    </div>
                </div>              
                <div class="form-group">
                    <label class="control-label">Subject :</label>
                    <div class="">
                        <textarea class="form-control"></textarea>
                    </div>
                </div>                                  
                <div class="form-group">
                    <button class="btn btn-success">Submit</button>
                </div>                                                                                              
            </form>
        </div>
    </div>

答案 1 :(得分:0)

我运行你的代码没有错。

除了框架

您需要的更改 -

  let myWebView:UIWebView = UIWebView(frame: self.view.frame)

如果您无法从网址加载

,请检查您的互联网连接
webView:didFailLoadWithError

实现此功能以检查您将来遇到的任何错误

答案 2 :(得分:0)

发生这种情况因为您尚未将myWebView添加到view

override func viewDidLoad() {
    super.viewDidLoad()
    let myWebView:UIWebView = UIWebView(frame: CGRect(x: 0, y: 20, width: self.view.frame.width, height: self.view.frame.height))

    self.view.addSubview(myWebView)
    let request = URLRequest(url: URL(string: "https://google.com")!)
    myWebView.loadRequest(request)
}

答案 3 :(得分:0)

Hear is your answers of two questions

**1.How do I get the web view to get fullscreen size?**

**Ans**: let myWebView:UIWebView = UIWebView(frame: CGRect(x: 0, y: 0, width: self.view.frame.size.width, height: self.view.frame.size.height))

**2 Why can't I load a url - I only get the white screen**
**Ans**:
        let myWebView:UIWebView = UIWebView(frame: CGRect(x: 0, y: 0, width: self.view.frame.size.width, height: self.view.frame.size.height))
        let url = URL (string: "https://google.com");
        let request = URLRequest(url: url! as URL);
        myWebView.loadRequest(request)
        self.view.addSubview(myWebView)

Load request before adding to self.view like above code

答案 4 :(得分:0)

  

完成webview加载后,将您的网页浏览量调整为内容

 //MARK: - WebView Delegate Method
func webViewDidFinishLoad(_ webView: UIWebView) {
    var frame = self.webView.frame
    frame.size.height = 1
    self.webView.frame = frame
    let fittingSize = self.webView.sizeThatFits(CGSize.zero)
    frame.size = fittingSize
    self.webView.needsUpdateConstraints()
    self.webView.frame.size.height = fittingSize.height
    self.webView.scrollView.isScrollEnabled = false
}

答案 5 :(得分:-1)

您已经使用固定的高度和宽度启动了myWebView,即300.尝试

let frame = self.view.frame
let width = frame.width
let height = frame.height
let myWebView:UIWebView = UIWebView(frame: CGRect(x: 0, y: 0, width: width, height: height))

使用storyboard,您可以在viewController中拖放webView并为视图提供约束(顶部:0,右:0,底部:0,左:0),以便您的Web视图将全屏显示。现在将webView的出口扩展到viewController和viewDidLoad。

override func viewDidLoad() {
    super.viewDidLoad()
    // Do any additional setup after loading the view
    let url = URL (string: "https://www.simplifiedios.net")
    let request = URLRequest(url: URL: url!)
    webView.loadRequest(request)
}