我有一个TabBarController
,其中我有实现UIWebView
的主ViewController,当没有连接时,它会显示模态ErrorViewController,该类具有一个重试按钮以关闭视图,并在完成时重新加载网络视图。我想让模式显示在选项卡视图(WebView在哪里)中,允许用户继续浏览选项卡。
我目前正在使用performSegue(withIdentifier: "showErrorView", sender: self)
,但它覆盖了整个屏幕。
我尝试使用NavigationController
,但是当我弹出视图时,我没找到如何告诉弹出窗口中显示的ViewController来重新加载WebView(换句话说,我没有有比赛经理)
答案 0 :(得分:0)
在情节提要中,选择当前的模式选择并将演示文稿选择为PrecomputedTextCompat.getTextFuture
而不是if (true) {
(apiOneTextView as AppCompatTextView).setTextFuture(
PrecomputedTextCompat.getTextFuture(
apiOneTextView.text,
TextViewCompat.getTextMetricsParams(apiOneTextView), null)
)
}
答案 1 :(得分:0)
您可以设置Delegate(Protocol
)方法以从ErrorVC与MainVC通信,以在被关闭时重新加载Webview。
代理
protocol WebViewDelegate: class {
func reloadWebView()
}
ErrorVC
class ErrorVC: UIViewController {
weak var delegate: WebViewDelegate?
@IBAction func retryButtonClicked(_ sender: Any) {
self.dismiss(animated: true, completion: nil)
delegate. reloadWebView()
}
}
MainVC
class MainVC: UIViewController, WebViewDelegate {
override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
if let errorVC = segue.destination as? ErrorVC {
errorVC.delegate = self
}
}
func reloadWebView() {
// reload code
}
}