PublishArticleViewController.swift 3.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102
  1. //
  2. // PublishArticleViewController.swift
  3. // RainbowPlanet
  4. //
  5. // Created by 南鑫林 on 2019/10/29.
  6. // Copyright © 2019 RainbowPlanet. All rights reserved.
  7. //
  8. import UIKit
  9. class PublishArticleViewController: BaseNewWebViewController {
  10. override func viewDidAppear(_ animated: Bool) {
  11. super.viewDidAppear(animated)
  12. navigationController?.interactivePopGestureRecognizer?.isEnabled = false
  13. }
  14. override func viewDidLoad() {
  15. super.viewDidLoad()
  16. }
  17. override func setupViews() {
  18. super.setupViews()
  19. UINavigationBar.appearance().tintColor = UIColor.black
  20. navigationBar.addSubview(publishButton)
  21. if #available(iOS 11.0, *) {
  22. UIScrollView.appearance().contentInsetAdjustmentBehavior = .always
  23. } else {
  24. if self.responds(to: #selector(setter: self.automaticallyAdjustsScrollViewInsets)) {
  25. self.automaticallyAdjustsScrollViewInsets = true
  26. }
  27. }
  28. }
  29. override func setupLayouts() {
  30. super.setupLayouts()
  31. self.webView.frame = CGRect(x: 0, y: kNavBarTotalHeight, width: kScreenWidth, height: kScreenHeight-kNavBarTotalHeight)
  32. publishButton.snp.makeConstraints { (make) in
  33. make.centerY.equalTo(navigationBar.leftButton)
  34. make.right.equalTo(-14)
  35. make.width.equalTo(64)
  36. make.height.equalTo(26)
  37. }
  38. }
  39. override func setupData() {
  40. super.setupData()
  41. WebViewJavascriptBridgeManager.shared.callHandlerH5(bridge: webView.bridge)
  42. WebViewJavascriptBridgeManager.shared.registerHandlerApp(bridge: webView.bridge) {
  43. [weak self] (wvjbModel) in
  44. WebViewJavascriptBridgeManager.shared.jump(bridge:self?.webView.bridge,wvjbModel: wvjbModel)
  45. }
  46. WebViewJavascriptBridgeManager.shared.callDataClosure = {
  47. [weak self] wbjbModel in
  48. switch (wbjbModel.params?.status ?? 0) {
  49. case 1://1.未发布
  50. SwiftProgressHUD.shared().hide()
  51. break
  52. case 2://2.发布中
  53. SwiftProgressHUD.shared().showWait()
  54. break
  55. case 3://3.发布成功
  56. NotificationCenter.default.post(name: NSNotification.Name("PublishPostSuccess"), object: nil)
  57. BaseTabbarViewController.shared.v1.reloadSegmentedFollowView()
  58. SwiftProgressHUD.shared().hide()
  59. self?.tabBarController?.selectedIndex = 0
  60. self?.navigationController?.popViewController(animated: true)
  61. break
  62. default :
  63. break
  64. }
  65. }
  66. publishButton.rx.tap.subscribe(onNext: { [weak self] (_) in
  67. WebViewJavascriptBridgeManager.shared.callHandlerPublish(bridge: self?.webView.bridge)
  68. }).disposed(by: disposeBag)
  69. }
  70. lazy var publishButton: UIButton = {
  71. let publishButton = UIButton()
  72. publishButton.setBackgroundImage(UIImage.imageWithColor(color: kThemeColor), for: UIControl.State.normal)
  73. publishButton.setBackgroundImage(UIImage.imageWithColor(color: kd8d8d8Color), for: UIControl.State.disabled)
  74. publishButton.setTitle("发布", for: UIControl.State.normal)
  75. publishButton.setTitleColor(kffffffColor, for: UIControl.State.normal)
  76. publishButton.titleLabel?.font = kMediumFont13
  77. publishButton.cornerRadius = 13
  78. publishButton.masksToBounds = true
  79. return publishButton
  80. }()
  81. override func willMove(toParent parent: UIViewController?) {
  82. if !(parent != nil) {
  83. navigationController?.interactivePopGestureRecognizer?.isEnabled = true
  84. }
  85. }
  86. }