YMSoundShowcaseViewController.m 2.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778
  1. //
  2. // YMSoundShowcaseViewController.m
  3. // MSYOUPAI
  4. //
  5. // Created by YoMi on 2024/3/8.
  6. // Copyright © 2024 MS. All rights reserved.
  7. //
  8. #import "YMSoundShowcaseViewController.h"
  9. #import "YMSoundShowcaseViewModel.h"
  10. #import "YMSoundShowcaseTeleprompterView.h"
  11. #import "YMSoundShowcaseTemplateVoiceView.h"
  12. @interface YMSoundShowcaseViewController ()
  13. /// 声音展示VM
  14. @property (nonatomic, strong) YMSoundShowcaseViewModel *viewModel;
  15. /// 题词器视图
  16. @property (nonatomic, strong) YMSoundShowcaseTeleprompterView *teleprompterView;
  17. /// 模板语音视图
  18. @property (nonatomic, strong) YMSoundShowcaseTemplateVoiceView *templateVoiceView;
  19. @end
  20. @implementation YMSoundShowcaseViewController
  21. @dynamic viewModel;
  22. - (void)viewDidLoad {
  23. [super viewDidLoad];
  24. }
  25. - (void)ym_setupViews{
  26. [self.view addSubview:self.teleprompterView];
  27. [self.view addSubview:self.templateVoiceView];
  28. [self.view setNeedsUpdateConstraints];
  29. [self.view updateConstraintsIfNeeded];
  30. }
  31. - (void)updateViewConstraints{
  32. [self.teleprompterView mas_makeConstraints:^(MASConstraintMaker *make) {
  33. make.top.equalTo(self.view).offset(kYMNavHeight);
  34. make.left.equalTo(self.view);
  35. make.right.equalTo(self.view);
  36. }];
  37. [self.templateVoiceView mas_makeConstraints:^(MASConstraintMaker *make) {
  38. make.left.equalTo(self.view);
  39. make.right.equalTo(self.view);
  40. make.bottom.equalTo(self.view).offset(Is_iPhoneX ? adapt(-32) : adapt(-12));
  41. }];
  42. [super updateViewConstraints];
  43. }
  44. - (void)ym_bindViewModel{
  45. [self.teleprompterView ym_bindViewModel:self.viewModel];
  46. [self.templateVoiceView ym_bindViewModel:self.viewModel];
  47. [self.viewModel refreshVoiceTelepromptertData];
  48. }
  49. - (YMSoundShowcaseTeleprompterView *)teleprompterView{
  50. if (!_teleprompterView) {
  51. _teleprompterView = [[YMSoundShowcaseTeleprompterView alloc]init];
  52. }
  53. return _teleprompterView;
  54. }
  55. - (YMSoundShowcaseTemplateVoiceView *)templateVoiceView{
  56. if (!_templateVoiceView) {
  57. _templateVoiceView = [[YMSoundShowcaseTemplateVoiceView alloc]init];
  58. }
  59. return _templateVoiceView;
  60. }
  61. @end