Commit f4a30e5b authored by Steven杜宇's avatar Steven杜宇

// webView空视图相关逻辑

parent 9ad43155
......@@ -16,6 +16,8 @@ let kEmptySearchBgName = "no_data_bg_search"
let kEmptyMessageBgName = "no_data_bg_msg"
// 订单空视图
let kEmptyOrderBgName = "no_data_bg_order"
// 无网络空视图
let kNotNetWorkBgName = "no_network_bg"
class YHEmptyDataView: UIView {
......@@ -80,6 +82,7 @@ class YHEmptyDataView: UIView {
func createUI() {
self.backgroundColor = .white
self.addSubview(emptyBgImgV)
self.addSubview(tipsLabel)
......
......@@ -32,6 +32,13 @@ class YHHomeWebViewController: YHBaseViewController, WKUIDelegate, WKNavigationD
return view
}()
lazy var noNetWorkTipsView: YHEmptyDataView = {
let view = YHEmptyDataView.createView("无网络", kNotNetWorkBgName)
view.topMargin = 222
view.isHidden = true
return view
}()
//有些界面需要保存图片的功能
var showSavePicBottomFlag : Bool = false
......@@ -39,6 +46,8 @@ class YHHomeWebViewController: YHBaseViewController, WKUIDelegate, WKNavigationD
super.viewDidLoad()
NotificationCenter.default.addObserver(self, selector: #selector(loginSuccess), name: YhConstant.YhNotification.didLoginSuccessNotifiction, object: nil)
NotificationCenter.default.addObserver(self, selector: #selector(updateNetWorkUI), name: .reachabilityChanged, object: nil)
gk_navBarAlpha = 1.0
gk_navLineHidden = false
......@@ -184,7 +193,14 @@ class YHHomeWebViewController: YHBaseViewController, WKUIDelegate, WKNavigationD
gk_navTitle = ""
}
view.addSubview(self.noNetWorkTipsView)
self.noNetWorkTipsView.snp.makeConstraints { make in
make.left.right.bottom.equalToSuperview()
make.top.equalToSuperview().offset(k_Height_NavigationtBarAndStatuBar)
}
getData()
updateNetWorkStatusUI(needReload: false)
}
deinit {
......@@ -255,6 +271,32 @@ class YHHomeWebViewController: YHBaseViewController, WKUIDelegate, WKNavigationD
}
}
@objc func updateNetWorkUI() {
updateNetWorkStatusUI(needReload: true)
}
func updateNetWorkStatusUI(needReload:Bool) {
DispatchQueue.main.async {
if YHNetworkStatusManager.shared.isNetWorkOK {
if needReload {
self.webview.reload()
self.getData()
}
}
self.view.bringSubviewToFront(self.noNetWorkTipsView)
self.noNetWorkTipsView.isHidden = YHNetworkStatusManager.shared.isNetWorkOK
if YHNetworkStatusManager.shared.isNetWorkOK {
if (self.vcTitle == "香港身份测评码" || !self.model.img_url.isEmpty) {
self.addRightItems()
} else {
self.gk_navRightBarButtonItem = nil
}
} else {
self.gk_navRightBarButtonItem = nil
}
}
}
// MARK: - WKNavigationDelegate
func webView(_ webView: WKWebView, didFinish navigation: WKNavigation!) {
// if vcTitle == nil {
......@@ -281,6 +323,11 @@ class YHHomeWebViewController: YHBaseViewController, WKUIDelegate, WKNavigationD
self.present(alert, animated: true, completion: nil)
}
func webView(_ webView: WKWebView, didFailProvisionalNavigation navigation: WKNavigation!, withError error: Error) {
printLog("\(error.localizedDescription)")
}
// MARK: - webview function
@objc func toBack() {
......
......@@ -54,6 +54,14 @@ class YHVideoPlayerVC: YHBaseViewController {
return player
}()
lazy var shareBtn: UIButton = {
let shareBtn = UIButton()
shareBtn.setImage(UIImage(named: "video_share"), for: .normal)
shareBtn.addTarget(self, action: #selector(didShareButtonClicked), for: .touchUpInside)
shareBtn.YH_clickEdgeInsets = UIEdgeInsets(top: 20, left: 30, bottom: 20, right: 20)
return shareBtn
}()
lazy var navBar: UIView = {
let bar = UIView()
let backBtn = UIButton()
......@@ -62,19 +70,14 @@ class YHVideoPlayerVC: YHBaseViewController {
backBtn.addTarget(self, action: #selector(didBackButtonClicked), for: .touchUpInside)
backBtn.YH_clickEdgeInsets = UIEdgeInsets(top: 20, left: 30, bottom: 20, right: 20)
bar.addSubview(backBtn)
let shareBtn = UIButton()
shareBtn.setImage(UIImage(named: "video_share"), for: .normal)
shareBtn.addTarget(self, action: #selector(didShareButtonClicked), for: .touchUpInside)
shareBtn.YH_clickEdgeInsets = UIEdgeInsets(top: 20, left: 30, bottom: 20, right: 20)
bar.addSubview(shareBtn)
bar.addSubview(self.shareBtn)
backBtn.snp.makeConstraints { make in
make.width.height.equalTo(24)
make.centerY.equalToSuperview()
make.left.equalTo(13)
}
shareBtn.snp.makeConstraints { make in
self.shareBtn.snp.makeConstraints { make in
make.width.height.equalTo(24)
make.centerY.equalToSuperview()
make.right.equalTo(-16)
......@@ -82,6 +85,15 @@ class YHVideoPlayerVC: YHBaseViewController {
return bar
}()
lazy var noNetWorkTipsView: YHEmptyDataView = {
let view = YHEmptyDataView.createView("无网络", kNotNetWorkBgName)
view.topMargin = 222
view.backgroundColor = .black
view.tipsLabel.textColor = .white
view.isHidden = true
return view
}()
var bottomView: YHHomeWebBottomView!
override func viewDidLoad() {
......@@ -94,12 +106,19 @@ class YHVideoPlayerVC: YHBaseViewController {
NotificationCenter.default.addObserver(self, selector: #selector(loginSuccess), name: YhConstant.YhNotification.didLoginSuccessNotifiction, object: nil)
NotificationCenter.default.addObserver(self, selector: #selector(updateNetWorkUI), name: .reachabilityChanged, object: nil)
gk_navigationBar.isHidden = true
self.navigationController?.interactivePopGestureRecognizer?.isEnabled = false
view.backgroundColor = .black
view.addSubview(navBar)
setupLikeAndCollectUI()
setupPlayerUI()
view.addSubview(self.noNetWorkTipsView)
self.noNetWorkTipsView.snp.makeConstraints { make in
make.left.right.bottom.equalToSuperview()
make.top.equalToSuperview().offset(k_Height_NavigationtBarAndStatuBar)
}
navBar.snp.makeConstraints { make in
make.left.right.equalToSuperview()
make.top.equalToSuperview().offset(k_Height_statusBar())
......@@ -110,6 +129,7 @@ class YHVideoPlayerVC: YHBaseViewController {
make.bottom.left.right.equalToSuperview()
make.height.equalTo(YHHomeWebBottomView.height + k_Height_safeAreaInsetsBottom())
}
updateNetWorkStatusUI(needReload: false)
}
func setupPlayerUI() {
......@@ -311,4 +331,27 @@ extension YHVideoPlayerVC {
printLog("登录成功,进行相应的 UI刷新操作")
requestData()
}
@objc func updateNetWorkUI() {
updateNetWorkStatusUI(needReload:true)
}
func updateNetWorkStatusUI(needReload:Bool) {
DispatchQueue.main.async {
if YHNetworkStatusManager.shared.isNetWorkOK {
if needReload {
if let videoURL = URL(string: self.url) {
self.player.pause()
let asset = BMPlayerResource(url: videoURL)
self.player.setVideo(resource: asset)
self.player.play()
}
self.requestData()
}
}
self.view.bringSubviewToFront(self.noNetWorkTipsView)
self.noNetWorkTipsView.isHidden = YHNetworkStatusManager.shared.isNetWorkOK
self.shareBtn.isHidden = !YHNetworkStatusManager.shared.isNetWorkOK
}
}
}
{
"images" : [
{
"idiom" : "universal",
"scale" : "1x"
},
{
"filename" : "无网络@2x.png",
"idiom" : "universal",
"scale" : "2x"
},
{
"filename" : "无网络@3x.png",
"idiom" : "universal",
"scale" : "3x"
}
],
"info" : {
"author" : "xcode",
"version" : 1
}
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment