smo*_*uns 14 uiviewcontroller ios swift
我是一个快速的新手,并制作了一个演示应用程序,在故事板中有一个UIViewController和UITableViewController.UIViewController有一个Collection View和一个嵌入式导航控制器.在点击集合视图单元格时,应用程序将转到UITableViewController.我也可以从UITableViewController回到我的UIViewController.这一切都运作良好.现在,我的UITableViewController中的一些行有URL.在点击URL时,我以编程方式在UIviewcontroller中创建webview并获取要加载的URL.问题是我无法关闭webview并在此之后返回到我的UITableViewController.这是我在UITableViewController类中的代码:
// When user taps a row, get the URL and load it in a webview
let mywebViewController = UIViewController()
let webView = UIWebView(frame: mywebViewController.view.bounds)
webView.loadRequest(NSURLRequest(URL: url)) // url from the row a user taps
mywebViewController.view = webView
self.navigationController!.presentViewController(mywebViewController, animated: true, completion: nil)
Run Code Online (Sandbox Code Playgroud)
如何向这个以编程方式创建的UIviewcontroller添加"完成"按钮以关闭webview并返回到我的UITableViewController
Ban*_*ngs 26
你可以包装mywebViewController在一个UINavigationController然后设置rightBarButtonItem到UIBarButtonItem(barButtonSystemItem: .Done, target: self, action: "dismiss")这样的:
let navController = UINavigationController(rootViewController: mywebViewController)
mywebViewController.navigationItem.rightBarButtonItem = UIBarButtonItem(barButtonSystemItem: .Done, target: self, action: "dismiss")
self.navigationController!.presentViewController(navController, animated: true, completion: nil)
Run Code Online (Sandbox Code Playgroud)
并dismiss在您的UITableViewController:中添加一个功能:
func dismiss() {
self.dismissViewControllerAnimated(true, completion: nil)
}
Run Code Online (Sandbox Code Playgroud)
将完成按钮添加到您呈现的 ViewController 并为其执行操作。要关闭 ViewController ,请尝试以下操作:
self.dismissViewControllerAnimated(true, completion: nil)
Run Code Online (Sandbox Code Playgroud)