我目前正在开发Swift5。我有个问题。当前有一个WebView启动和一个自定义通知窗口,用于检查数据。检查数据后,我将关闭通知窗口。
当我在此处关闭通知窗口时,如何将数据转发到WebView页面?我认为这不是刷新WebView页面的好方法。还有其他方法吗?
WebView.swift打开模式自定义提醒
let storyboard = UIStoryboard(name: "Main", bundle: nil)
let myAlert = storyboard.instantiateViewController(withIdentifier: "CheckAlertController") as! CheckAlertController
myAlert.modalPresentationStyle = .overCurrentContext
myAlert.modalTransitionStyle = .crossDissolve
self.present(myAlert, animated: false, completion: nil)
Modal Custom Alert.swift
@IBAction func okButton(_ sender: Any) {
self.dismiss(animated: true, completion: nil)
}
我想在我按下OK按钮并关闭模式通知窗口时传递数据。
我该如何解决问题?
还有其他方法吗?什么是正确的方法?
模式自定义Alert.swift
var callBack: (()->())?
@IBAction func okButton(_ sender: Any) {
callBack?()
self.dismiss(animated: true, completion: nil)
}
WebView.swift
let storyboard = UIStoryboard(name: "Main", bundle: nil)
let myAlert = storyboard.instantiateViewController(withIdentifier: "CheckAlertController") as! CheckAlertController
myAlert.callBack = {
// Execute your code
}
myAlert.modalPresentationStyle = .overCurrentContext
myAlert.modalTransitionStyle = .crossDissolve
self.present(myAlert, animated: false, completion: nil)
在您的网页中添加JavaScript函数
<script type="text/javascript">
function updateViews(data)
{
// do something with the data here
}
</script>
当您从WebView Controller获取数据时
self.webView.evaluateJavaScript("updateViews(\(data))") { result, error in
// handle result, error here
}
关闭模式后,有几种方法可以将数据从模态传递到WebView控制器,例如委托,推送本地通知,我个人将使用委托