Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
全屏IOS网络视图_Ios_Swift_Uiwebview - Fatal编程技术网

全屏IOS网络视图

全屏IOS网络视图,ios,swift,uiwebview,Ios,Swift,Uiwebview,这是一个非常简单的问题,但我对IOS开发和Swift完全陌生 我正在尝试添加一个webview,并使其填充整个屏幕 这是我的密码 override func viewDidLoad() { super.viewDidLoad() let myWebView:UIWebView = UIWebView(frame: CGRect(x: 0, y: 0, width: 300, height: 300)) self.view.addSubview

这是一个非常简单的问题,但我对IOS开发和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)

所以有两个问题

  • 如何使web视图达到全屏大小
  • 为什么我不能加载url?我只能看到白色屏幕

您已使用固定的高度和宽度(即300)初始化myWebView。请尝试

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))
使用故事板,您可以在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)
}

试试这个。

class ViewController: UIViewController , UIWebViewDelegate {

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))
        myWebView.delegate = self
        self.view.addSubview(myWebView)
        let url = URL (string: "https://google.com");
        let request = URLRequest(url: url! as URL);
        myWebView.loadRequest(request);


    }

    func webViewDidStartLoad(_ webView: UIWebView) {
        print("web view start loading")
    }

    func webViewDidFinishLoad(_ webView: UIWebView) {
        print("web view load completely")
    }

    func webView(_ webView: UIWebView, didFailLoadWithError error: Error) {
        print("web view loading fail : ",error.localizedDescription)
    }
}

我运行了你的代码,里面没有错

除了框架

您所需的更改-

  let myWebView:UIWebView = UIWebView(frame: self.view.frame)
如果无法从url加载,请检查internet连接

webView:didFailLoadWithError

实现此功能可检查将来出现的任何错误,因为您尚未将
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)
}
完成webview加载后,将webview大小更改为内容


您可以使用self.view.frame.size.width表示宽度,self.view.frame.size.height表示高度您尚未将webView添加到视图。答案是否与?,使用myWebView.frame=self.view.bounds和als检查传输安全是否已添加到您的应用程序中。plist@Birger检查更新它对我来说工作正常我检查过了。@Birger-添加代理并检查哪个代理将被调用。。由于某种原因,手机失去了wifi。。谢谢你的快速回复help@DixitAkabari-失败授权人在哪里愚蠢的手机失去了wifi。。它现在加载url。。真是个新手犯的错误
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
 //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
}