im trying to use the UI WebKit View.
I created a single view app, placed a UI WebKit View on the main View and put the constraints "centering horizontally and vertically in container, fixed height and equal width to superview" to it.
then i changed my ViewController.swift to
import UIKit
import WebKit
class ViewController: UIViewController, WKUIDelegate {
#IBOutlet weak var webView: WKWebView!
override func viewDidLoad() {
super.viewDidLoad()
let myUrl = URL(string: "www.apple.com")
let myRequest = URLRequest(url: myUrl!)
webView.load(myRequest)
// Do any additional setup after loading the view, typically from a nib.
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
}
But when i start the app i get only a blank screen. What am i doing wrong?
Your url is not valid so change this
let myUrl = URL(string: "www.apple.com")
to
let myUrl = URL(string: "https://www.apple.com")
Related
I am actually using a WKWebView in my IOS application. The url loaded successfully but when clicking on the Facebook and Twitter share buttons nothing happens. How can I solve this issue?
Here is the following code:
ViewController:
import UIKit
import WebKit
class ViewController: UIViewController,WKNavigationDelegate {
#IBOutlet var containerView : UIView! = nil
var webView = WKWebView()
override func loadView() {
super.loadView()
self.webView = WKWebView()
self.view = self.webView
}
override func viewDidLoad() {
super.viewDidLoad()
let url = NSURL(string: "https://www.examplepage.com")!
webView.load(NSURLRequest(url: url as URL) as URLRequest)
webView.allowsBackForwardNavigationGestures = true
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
}
I am currently having this issue with IOS app.
When I click on a URL button the UIWebView loads the correct URL in first instance however when I visit another page within same Web View Frame it stores that page to its memory. When I navigate to another button and click back to previous button it shows the page that I was previously in instead of loading the URL.
What I want to achieve is when user clicks on button the UIWebView loads the URL .
My current code:
import UIKit
class MenuViewController: UIViewController {
#IBOutlet weak var oyebWebView: UIWebView!
override func viewDidLoad() {
super.viewDidLoad()
oyebWebView.loadRequest(NSURLRequest(URL: NSURL(string: MenuUrl)!))
// Do any additional setup after loading the view.
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
You can use following code it will work.
import UIKit
class MenuViewController: UIViewController {
#IBOutlet weak var oyebWebView: UIWebView!
override func viewWillAppear(animated: Bool) {
let webUrl : NSURL = NSURL(string: MenuUrl)!
let webRequest : NSURLRequest = NSURLRequest(URL: webUrl)
oyebWebView.loadRequest(webRequest);
}
override func viewDidLoad() {
// super.viewDidLoad()
//super.viewWillAppear(YES)
// self.viewDidAppear(true)
let webUrl : NSURL = NSURL(string: MenuUrl)!
let webRequest : NSURLRequest = NSURLRequest(URL: webUrl)
oyebWebView.loadRequest(webRequest);
//oyebWebView.loadRequest(NSURLRequest(URL: NSURL(string: MenuUrl)!))
// Do any additional setup after loading the view.
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
I am hoping someone maybe able to help, I am new too Xcode and have been trying relentlessly to execute the following URL in webview and not having much luck:
http://view.vzaar.com/5532785/player
Below is the code:
import UIKit
class ViewController: UIViewController {
#IBOutlet weak var webView: UIWebView!
override func viewDidLoad() {
super.viewDidLoad()
let url = NSURL (string: "http://view.vzaar.com/5532785/player")
let requestObj = NSURLRequest(URL: url!);
webView.loadRequest(requestObj)
// Do any additional setup after loading the view.
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
}
Any suggestions would be really appreciated.
Jon
Try this,
If you using Xcode 7(swift 2). Add following details in your plist
Im crating a simple wrapper, however no matter what device I test a website with loading it into a webview its always a bit to wide and has horizontal scrolling. I can turn that off by changing the content size but then i just cut off part of the view on the right hand side.
import UIKit
class ViewController: UIViewController, UIWebViewDelegate {
#IBOutlet var webView: UIWebView?
let endpointURL : String = "http://www.google.com/"
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.
webView?.delegate = self
var url : NSURL = NSURL(string: endpointURL)!
var request : NSURLRequest = NSURLRequest(URL: url)
webView?.loadRequest(request)
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
func webViewDidStartLoad(webView: UIWebView) {
}
func webViewDidFinishLoad(webView: UIWebView) {
//webView.scrollView.contentSize = CGSizeMake(webView.frame.size.width, webView.scrollView.contentSize.height)
}
}
Use webView.scalesPageToFit = true
This should size the web page to fit the size of the UIWebView.
I suspect your problem might be related to the frame of the WebView.Try resizing your webview to your screen bounds.
webView.frame = UIScreen.mainScreen().bounds
some disapointement with uiwebview, for very simple code
class ViewController: UIViewController {
#IBOutlet weak var mavue: UIWebView!
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view.
let requestURL = NSURL(string: "http://www.google.com")
let request = NSURLRequest(URL: requestURL!)
mavue?.loadRequest(request)
println("myWebView : \(mavue)")
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
}
println("myWebView : (mavue)") return nil
i try it on simulator, i have loaded my controllerview from presentViewController maybe it's the reason why?
but my code doesn't show mywebview.
mywebView is connected to my IBoutlet
thank
EDIT : It 's work, I think that th mistake was to keep the default uiviewcontroller , when i use a subclass all is ok
Thank