iOS9 - Swift - 使用简单的浏览器创建应用程序
问题描述:
如何使用Xcode在Swift中设置一个简单的应用程序,底部的标签页会在浏览器中加载不同的网站?然而,标签现在不那么强制,至少视图应该在打开时显示网站。 这是我的视图控制器SWIFT代码:iOS9 - Swift - 使用简单的浏览器创建应用程序
import UIKit
import WebKit
class ViewController: UIViewController {
@IBOutlet var containerView : UIView! = nil
var webView: WKWebView?
override func viewDidLoad() {
super.viewDidLoad()
let url = NSURL(string:"http://www.google.com/")
let req = NSURLRequest(URL:url!)
self.webView!.loadRequest(req)
}
override func loadView() {
super.loadView()
self.webView = WKWebView()
self.view = self.webView
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
}
}
然而,当我打开模拟器的观点是空白。在xcode中创建单个视图项目。
编辑:仍然有问题...
答
我想你应该直接实现的WebView成代码。这里有一个例子:
import UIKit
import WebKit
class ViewController: UIViewController {
var webView: WKWebView?
override func viewDidLoad() {
super.viewDidLoad()
let website = "https://www.apple.com"
layoutWebBrowsingElements()
loadURLRequest(website)
}
func loadURLRequest(address: String) {
let siteURL = NSURL(string: address)
let request = NSURLRequest(URL: siteURL!)
webView?.loadRequest(request)
}
func layoutWebBrowsingElements() {
// It is actually better to implement a WKWebView directly in code.
let wkWebView = WKWebView(frame: view.bounds)
webView = wkWebView
wkWebView.translatesAutoresizingMaskIntoConstraints = false
//Auto-Layout Stuff
self.view.addSubview(wkWebView)
let webTopSpaceToContainer = NSLayoutConstraint(item: self.view, attribute: .TopMargin, relatedBy: .Equal, toItem: webView, attribute: .Top, multiplier: 1, constant: -20)
let webBottomSpaceToContainer = NSLayoutConstraint(item: self.view, attribute: .BottomMargin, relatedBy: .Equal, toItem: webView, attribute: .Bottom, multiplier: 1, constant: -20)
let webLeadingSpaceToContainer = NSLayoutConstraint(item: self.view, attribute: .LeadingMargin, relatedBy: .Equal, toItem: webView, attribute: .Leading, multiplier: 1, constant: 20)
let webTrailingSpaceToContainer = NSLayoutConstraint(item: self.view, attribute: .TrailingMargin, relatedBy: .Equal, toItem: webView, attribute: .Trailing, multiplier: 1, constant: -20)
let webViewConstaints = [webTopSpaceToContainer,webBottomSpaceToContainer,webLeadingSpaceToContainer,webTrailingSpaceToContainer]
self.view.addConstraints(webViewConstaints)
}
}
此配置支持自动布局和“自来水状态栏滚动到顶部”
你也应该考虑读书WebKit's documentation,在那里你可以得到所有属性和可优化方法的用户体验。
答
尝试建立在你的故事板的工具栏,并利用这些动作来触发该应用程序的URL。
答
这里是如何您通常会设置此:
class ViewController: UIViewController {
let webView = WKWebView()
override func viewDidLoad() {
super.viewDidLoad()
webView.frame = view.bounds
view.addSubview(webView)
let url = NSURL(string:"https://www.google.com/")
let req = NSURLRequest(URL:url!)
webView.loadRequest(req)
}
}
我的主要问题是实际显示WebView加载页面。看我的编辑。 – DevDavid