【发布时间】:2017-05-27 09:54:48
【问题描述】:
当我实现了它在浏览器上完美运行的代码时,它可以在 ios 中打开 safari 并将myapp:// 放在地址栏上,它会打开我的应用程序,但我想在点击 UIWebView 内的链接时进行操作
@IBOutlet weak var webView: UIWebView!
override func viewDidLoad() {
super.viewDidLoad()
let setURL=URL(string:"https://myapp.com/")
let setURLRequest=URLRequest(url:setURL!)
webView.loadRequest(setURLRequest)
}
这是我将网站加载到 webview 的代码并添加了URL TYPE >item0->myapp
item0->URL Scheme->myapp
当我添加到链接例如< a href="myapp://"></a> 时,它不会启动另一个视图并出现错误
Appdelegate
public func webView(_ webView: UIWebView, shouldStartLoadWith request: URLRequest, navigationType: UIWebViewNavigationType) -> Bool {
if request.url?.scheme == "myapp" {
// UIApplication.shared.open(request.url!, options: [:], //completionHandler: nil)
let myVC: MyAnotherController = MyAnotherController()
self.present(myVC, animated: true) { }
return false
}
return true
}
收到此错误 'AppDelegate' 类型的值没有成员 'present'"
【问题讨论】:
-
获取已经在屏幕上的视图控制器的引用(使用根视图控制器,如果您的应用程序有一个或任何其他规定(如果您的应用程序有)),然后调用 present 方法它。
-
但是即使我没有提到“UIApplication.shared.open(request.url!, options: [:], //completionHandler: nil)” 怎么可能打开 myapp 应用程序我应该怎么做做吗?
-
你能把你的项目上传到某个地方(最好是谷歌驱动器)并分享链接吗?
-
此处或您的电子邮件 ID
-
这取决于你。这是我的电子邮件 ID:saurabhbhatia.jmi@gmail.com
标签: ios swift3 uiwebview xcode8