| | |
| | | |
| | | class CommonWebVC: BaseVC, WKNavigationDelegate { |
| | | |
| | | private var type:AgreentType! |
| | | private var content:String! |
| | | @IBOutlet weak var webView: WKWebView! |
| | | @IBOutlet weak var cons_webHeight: NSLayoutConstraint! |
| | | @IBOutlet weak var view_btns: UIView! |
| | | |
| | | init(type:AgreentType,content:String? = nil) { |
| | | super.init(nibName: nil, bundle: nil) |
| | | self.type = type |
| | | self.content = content |
| | | } |
| | | |
| | | required init?(coder: NSCoder) { |
| | | fatalError("init(coder:) has not been implemented") |
| | | } |
| | | |
| | | override func viewDidLoad() { |
| | | super.viewDidLoad() |
| | | view_btns.isHidden = true |
| | | webView.navigationDelegate = self |
| | | private var type:AgreentType! |
| | | private var content:String! |
| | | @IBOutlet weak var webView: WKWebView! |
| | | @IBOutlet weak var cons_webHeight: NSLayoutConstraint! |
| | | @IBOutlet weak var view_btns: UIView! |
| | | |
| | | if type != .other{ |
| | | title = type.titleStr |
| | | Services.queryProtocol(type,progress: false).subscribe(onNext: {[weak self] result in |
| | | if let text = result.data?.jq_wrapHtml(){ |
| | | self?.webView.loadHTMLString(text, baseURL: nil) |
| | | init(type:AgreentType,content:String? = nil) { |
| | | super.init(nibName: nil, bundle: nil) |
| | | self.type = type |
| | | self.content = content |
| | | } |
| | | }).disposed(by: disposeBag) |
| | | }else{ |
| | | webView.loadHTMLString(content?.jq_wrapHtml() ?? "", baseURL: nil) |
| | | } |
| | | } |
| | | |
| | | override func setRx() { |
| | | webView.scrollView.rx.observe(CGSize.self, "contentSize").map { (size) -> CGFloat? in |
| | | if let size = size{ |
| | | return size.height |
| | | } |
| | | return nil |
| | | }.subscribe(onNext: { [unowned self](height) in |
| | | if let height = height{ |
| | | self.cons_webHeight.constant = height |
| | | } |
| | | }).disposed(by: disposeBag) |
| | | required init?(coder: NSCoder) { |
| | | fatalError("init(coder:) has not been implemented") |
| | | } |
| | | |
| | | } |
| | | override func viewDidLoad() { |
| | | super.viewDidLoad() |
| | | view_btns.isHidden = true |
| | | webView.navigationDelegate = self |
| | | |
| | | @IBAction func readAction(_ sender: UIButton) { |
| | | switch type { |
| | | case .user: |
| | | UserDefaults.standard.set(object: true, forKey: "agreent_2") |
| | | UserDefaults.standard.synchronize() |
| | | case .safe: |
| | | UserDefaults.standard.set(object: true, forKey: "agreent_3") |
| | | UserDefaults.standard.synchronize() |
| | | case .privacy: |
| | | UserDefaults.standard.set(object: true, forKey: "agreent_1") |
| | | UserDefaults.standard.synchronize() |
| | | default:break |
| | | } |
| | | navigationController?.popViewController() |
| | | } |
| | | if type != .other{ |
| | | title = type.titleStr |
| | | Services.queryProtocol(type,progress: false).subscribe(onNext: {[weak self] result in |
| | | if let text = result.data?.jq_wrapHtml(){ |
| | | self?.webView.loadHTMLString(text, baseURL: nil) |
| | | } |
| | | }).disposed(by: disposeBag) |
| | | }else{ |
| | | webView.loadHTMLString(content?.jq_wrapHtml() ?? "", baseURL: nil) |
| | | } |
| | | } |
| | | |
| | | @IBAction func cancelAction(_ sender: UIButton) { |
| | | navigationController?.popViewController() |
| | | } |
| | | override func setRx() { |
| | | webView.scrollView.rx.observe(CGSize.self, "contentSize").map { (size) -> CGFloat? in |
| | | if let size = size{ |
| | | return size.height |
| | | } |
| | | return nil |
| | | }.subscribe(onNext: { [unowned self](height) in |
| | | if let height = height{ |
| | | self.cons_webHeight.constant = height |
| | | } |
| | | }).disposed(by: disposeBag) |
| | | |
| | | } |
| | | |
| | | @IBAction func readAction(_ sender: UIButton) { |
| | | switch type { |
| | | case .user: |
| | | UserDefaults.standard.set(object: true, forKey: "agreent_2") |
| | | UserDefaults.standard.synchronize() |
| | | case .safe: |
| | | UserDefaults.standard.set(object: true, forKey: "agreent_3") |
| | | UserDefaults.standard.synchronize() |
| | | case .privacy: |
| | | UserDefaults.standard.set(object: true, forKey: "agreent_1") |
| | | UserDefaults.standard.synchronize() |
| | | default:break |
| | | } |
| | | navigationController?.popViewController() |
| | | } |
| | | |
| | | @IBAction func cancelAction(_ sender: UIButton) { |
| | | navigationController?.popViewController() |
| | | } |
| | | |
| | | |
| | | override var preferredStatusBarStyle: UIStatusBarStyle{ |
| | | return .darkContent |
| | | } |
| | | override var preferredStatusBarStyle: UIStatusBarStyle{ |
| | | return .darkContent |
| | | } |
| | | |
| | | override var shouldAutorotate: Bool{ |
| | | return false |
| | | } |
| | | |
| | | override var shouldAutorotate: Bool{ |
| | | return false |
| | | } |
| | | |
| | | func webView(_ webView: WKWebView, didFinish navigation: WKNavigation!) { |
| | | switch type { |
| | | case .user,.safe,.privacy: |
| | | view_btns.isHidden = false |
| | | navigationItem.leftBarButtonItem = UIBarButtonItem() |
| | | default: |
| | | view_btns.isHidden = true |
| | | } |
| | | } |
| | | func webView(_ webView: WKWebView, didFinish navigation: WKNavigation!) { |
| | | switch type { |
| | | case .user,.safe,.privacy: |
| | | view_btns.isHidden = false |
| | | navigationItem.leftBarButtonItem = UIBarButtonItem() |
| | | default: |
| | | view_btns.isHidden = true |
| | | } |
| | | } |
| | | } |
| | | |
| | | |