YMWebArticleViewController.m 1.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172
  1. //
  2. // YMWebArticleViewController.m
  3. // MSYOUPAI
  4. //
  5. // Created by YoMi on 2024/2/15.
  6. // Copyright © 2024 MS. All rights reserved.
  7. //
  8. #import "YMWebArticleViewController.h"
  9. #import "YMWebArticleView.h"
  10. @interface YMWebArticleViewController ()
  11. /// 网页文章VM
  12. @property (nonatomic, strong) YMWebArticleViewModel *viewModel;
  13. /// 网页文章视图
  14. @property (nonatomic, strong) YMWebArticleView *webArticleView;
  15. @end
  16. @implementation YMWebArticleViewController
  17. @dynamic viewModel;
  18. - (void)viewDidLoad {
  19. [super viewDidLoad];
  20. // Do any additional setup after loading the view.
  21. }
  22. - (void)viewWillAppear:(BOOL)animated {
  23. [super viewWillAppear:animated];
  24. if (self.viewModel.webViewLoadTitle == YES && OCStringIsEmpty(self.viewModel.webViewTitle)) {
  25. //webView已获取title,但返回时无法获取title,可能是内存不足原因造成,此时需重新加载同时避免第一次进入时重新加载
  26. [self.viewModel.refreshUISubject sendNext:@(YMRefreshUI)];
  27. }
  28. }
  29. - (void)viewWillDisappear:(BOOL)animated {
  30. [super viewWillDisappear:animated];
  31. if (!OCStringIsEmpty(self.viewModel.webViewTitle)) {
  32. self.viewModel.webViewLoadTitle = YES;
  33. }
  34. }
  35. - (void)ym_setupViews{
  36. [self.view addSubview:self.webArticleView];
  37. [self.view setNeedsUpdateConstraints];
  38. [self.view updateConstraintsIfNeeded];
  39. }
  40. - (void)updateViewConstraints{
  41. [self.webArticleView mas_makeConstraints:^(MASConstraintMaker *make) {
  42. make.top.equalTo(self.view).offset(kYMNavHeight);
  43. make.left.equalTo(self.view);
  44. make.right.equalTo(self.view);
  45. make.bottom.equalTo(self.view);
  46. }];
  47. [super updateViewConstraints];
  48. }
  49. - (void)ym_bindViewModel{
  50. [self.webArticleView ym_bindViewModel:self.viewModel];
  51. }
  52. - (YMWebArticleView *)webArticleView{
  53. if (!_webArticleView) {
  54. _webArticleView = [[YMWebArticleView alloc]init];
  55. }
  56. return _webArticleView;
  57. }
  58. @end