// // YMSoundShowcaseViewController.m // MSYOUPAI // // Created by YoMi on 2024/3/8. // Copyright © 2024 MS. All rights reserved. // #import "YMSoundShowcaseViewController.h" #import "YMSoundShowcaseViewModel.h" #import "YMSoundShowcaseTeleprompterView.h" #import "YMSoundShowcaseTemplateVoiceView.h" @interface YMSoundShowcaseViewController () /// 声音展示VM @property (nonatomic, strong) YMSoundShowcaseViewModel *viewModel; /// 题词器视图 @property (nonatomic, strong) YMSoundShowcaseTeleprompterView *teleprompterView; /// 模板语音视图 @property (nonatomic, strong) YMSoundShowcaseTemplateVoiceView *templateVoiceView; @end @implementation YMSoundShowcaseViewController @dynamic viewModel; - (void)viewDidLoad { [super viewDidLoad]; } - (void)ym_setupViews{ [self.view addSubview:self.teleprompterView]; [self.view addSubview:self.templateVoiceView]; [self.view setNeedsUpdateConstraints]; [self.view updateConstraintsIfNeeded]; } - (void)updateViewConstraints{ [self.teleprompterView mas_makeConstraints:^(MASConstraintMaker *make) { make.top.equalTo(self.view).offset(kYMNavHeight); make.left.equalTo(self.view); make.right.equalTo(self.view); }]; [self.templateVoiceView mas_makeConstraints:^(MASConstraintMaker *make) { make.left.equalTo(self.view); make.right.equalTo(self.view); make.bottom.equalTo(self.view).offset(Is_iPhoneX ? adapt(-32) : adapt(-12)); }]; [super updateViewConstraints]; } - (void)ym_bindViewModel{ [self.teleprompterView ym_bindViewModel:self.viewModel]; [self.templateVoiceView ym_bindViewModel:self.viewModel]; [self.viewModel refreshVoiceTelepromptertData]; } - (YMSoundShowcaseTeleprompterView *)teleprompterView{ if (!_teleprompterView) { _teleprompterView = [[YMSoundShowcaseTeleprompterView alloc]init]; } return _teleprompterView; } - (YMSoundShowcaseTemplateVoiceView *)templateVoiceView{ if (!_templateVoiceView) { _templateVoiceView = [[YMSoundShowcaseTemplateVoiceView alloc]init]; } return _templateVoiceView; } @end