526 lines
21 KiB
Objective-C
526 lines
21 KiB
Objective-C
//
|
|
// XPMineUserInfoRecordedSoundView.m
|
|
// xplan-ios
|
|
//
|
|
// Created by duoban on 2022/12/29.
|
|
//
|
|
|
|
#import "XPMineUserInfoRecordedSoundView.h"
|
|
#import "SGYProgressView.h"
|
|
#import <SVGA.h>
|
|
#import "XPSkillCardPlayerManager.h"
|
|
|
|
@interface XPMineUserInfoRecordedSoundView()
|
|
@property (nonatomic,strong) UIScrollView *scrollView;
|
|
///背景
|
|
@property (nonatomic,strong) UIImageView *bgImageView;
|
|
///记录背景
|
|
@property (nonatomic,strong) UIImageView *recordView;
|
|
///录制圆环进度条
|
|
@property (nonatomic,strong) SGYProgressView *progressView;
|
|
///录制麦图标
|
|
@property (nonatomic,strong) UIImageView *maiView;
|
|
///声音动效
|
|
@property (nonatomic,strong) SVGAImageView *soundSVGAView;
|
|
///录制时间
|
|
@property (nonatomic,strong) UILabel *timeView;
|
|
///提示
|
|
@property (nonatomic,strong) UILabel *promptView;
|
|
///录制背景
|
|
@property (nonatomic,strong) UIView *bgRecordView;
|
|
///录制
|
|
@property (nonatomic,strong) UIButton *recordBtn;
|
|
///完成录制
|
|
@property (nonatomic,strong) UIButton *completedBtn;
|
|
///录制下面提示
|
|
@property (nonatomic,strong) UILabel *recordTitleView;
|
|
|
|
///重新录制背景
|
|
@property (nonatomic,strong) UIView *bgRerecordView;
|
|
///重新录制
|
|
@property (nonatomic,strong) UIButton *rerecordBtn;
|
|
///重新录制下面提示
|
|
@property (nonatomic,strong) UILabel *rerecordTitleView;
|
|
///保存声音
|
|
@property (nonatomic,strong) UIButton *saveBtn;
|
|
///保存声音下面提示
|
|
@property (nonatomic,strong) UILabel *saveTitleView;
|
|
///删除背景
|
|
@property (nonatomic,strong) UIView *bgDeleteView;
|
|
///删除
|
|
@property (nonatomic,strong) UIButton *deleteBtn;
|
|
///结果提示
|
|
@property (nonatomic,strong) UILabel *resultView;
|
|
@end
|
|
@implementation XPMineUserInfoRecordedSoundView
|
|
|
|
-(instancetype)initWithFrame:(CGRect)frame{
|
|
self = [super initWithFrame:frame];
|
|
if(self){
|
|
[self initSubViews];
|
|
[self initSubViewConstraints];
|
|
}
|
|
return self;
|
|
}
|
|
|
|
#pragma mark - Private Method
|
|
- (void)initSubViews {
|
|
[self addSubview:self.scrollView];
|
|
[self.scrollView addSubview:self.bgImageView];
|
|
[self.scrollView addSubview:self.recordView];
|
|
[self.recordView addSubview:self.progressView];
|
|
[self.recordView addSubview:self.maiView];
|
|
[self.recordView addSubview:self.soundSVGAView];
|
|
[self.scrollView addSubview:self.timeView];
|
|
[self.scrollView addSubview:self.promptView];
|
|
[self.scrollView addSubview:self.bgRecordView];
|
|
[self.bgRecordView addSubview:self.recordBtn];
|
|
[self.bgRecordView addSubview:self.completedBtn];
|
|
[self.scrollView addSubview:self.recordTitleView];
|
|
[self.scrollView addSubview:self.bgRerecordView];
|
|
[self.bgRerecordView addSubview:self.rerecordBtn];
|
|
[self.scrollView addSubview:self.rerecordTitleView];
|
|
[self.scrollView addSubview:self.bgDeleteView];
|
|
[self.bgDeleteView addSubview:self.deleteBtn];
|
|
[self.scrollView addSubview:self.saveBtn];
|
|
[self.scrollView addSubview:self.saveTitleView];
|
|
[self.scrollView addSubview:self.resultView];
|
|
|
|
|
|
self.bgRerecordView.hidden = YES;
|
|
self.rerecordTitleView.hidden = YES;
|
|
self.bgDeleteView.hidden = YES;
|
|
self.saveBtn.hidden = YES;
|
|
self.saveTitleView.hidden = YES;
|
|
self.resultView.hidden = YES;
|
|
|
|
SVGAParser *soundParser = [SVGAParser new];
|
|
@kWeakify(self)
|
|
[soundParser parseWithNamed:@"mine_info_sound_record" inBundle:[NSBundle mainBundle] completionBlock:^(SVGAVideoEntity * _Nonnull videoItem) {
|
|
@kStrongify(self);
|
|
self.soundSVGAView.loops = 0;
|
|
self.soundSVGAView.clearsAfterStop = NO;
|
|
self.soundSVGAView.videoItem = videoItem;
|
|
[self.soundSVGAView startAnimation];
|
|
} failureBlock:^(NSError * _Nonnull error) {
|
|
|
|
}];
|
|
}
|
|
- (void)initSubViewConstraints {
|
|
[self.scrollView mas_makeConstraints:^(MASConstraintMaker *make) {
|
|
make.edges.equalTo(self);
|
|
}];
|
|
[self.bgImageView mas_makeConstraints:^(MASConstraintMaker *make) {
|
|
make.leading.trailing.top.equalTo(self);
|
|
make.height.mas_equalTo(kGetScaleWidth(216));
|
|
}];
|
|
[self.recordView mas_makeConstraints:^(MASConstraintMaker *make) {
|
|
make.top.mas_equalTo(kGetScaleWidth(168));
|
|
make.width.height.mas_equalTo(kGetScaleWidth(180));
|
|
make.centerX.equalTo(self);
|
|
}];
|
|
[self.maiView mas_makeConstraints:^(MASConstraintMaker *make) {
|
|
make.width.height.mas_equalTo(kGetScaleWidth(110));
|
|
make.center.equalTo(self.recordView);
|
|
}];
|
|
[self.soundSVGAView mas_makeConstraints:^(MASConstraintMaker *make) {
|
|
make.width.height.mas_equalTo(kGetScaleWidth(110));
|
|
make.center.equalTo(self.recordView);
|
|
}];
|
|
[self.timeView mas_makeConstraints:^(MASConstraintMaker *make) {
|
|
make.top.equalTo(self.recordView.mas_bottom).mas_offset(kGetScaleWidth(30));
|
|
make.centerX.equalTo(self);
|
|
}];
|
|
[self.promptView mas_makeConstraints:^(MASConstraintMaker *make) {
|
|
make.top.equalTo(self.timeView.mas_bottom).mas_offset(kGetScaleWidth(15));
|
|
make.centerX.equalTo(self);
|
|
}];
|
|
[self.bgRecordView mas_makeConstraints:^(MASConstraintMaker *make) {
|
|
make.top.equalTo(self.promptView.mas_bottom).mas_offset(kGetScaleWidth(116));
|
|
make.width.height.mas_equalTo(kGetScaleWidth(64));
|
|
make.centerX.equalTo(self);
|
|
}];
|
|
[self.completedBtn mas_makeConstraints:^(MASConstraintMaker *make) {
|
|
make.width.height.mas_equalTo(kGetScaleWidth(28));
|
|
make.center.equalTo(self.bgRecordView);
|
|
}];
|
|
[self.recordBtn mas_makeConstraints:^(MASConstraintMaker *make) {
|
|
make.width.height.mas_equalTo(kGetScaleWidth(28));
|
|
make.center.equalTo(self.bgRecordView);
|
|
}];
|
|
[self.recordTitleView mas_makeConstraints:^(MASConstraintMaker *make) {
|
|
make.top.equalTo(self.bgRecordView.mas_bottom).mas_offset(kGetScaleWidth(15));
|
|
make.centerX.equalTo(self);
|
|
}];
|
|
|
|
[self.bgRerecordView mas_makeConstraints:^(MASConstraintMaker *make) {
|
|
make.width.height.mas_equalTo(kGetScaleWidth(42));
|
|
make.centerY.equalTo(self.recordBtn);
|
|
make.trailing.equalTo(self.recordBtn.mas_leading).mas_offset(-kGetScaleWidth(56));
|
|
}];
|
|
|
|
[self.rerecordBtn mas_makeConstraints:^(MASConstraintMaker *make) {
|
|
make.width.height.mas_equalTo(kGetScaleWidth(18));
|
|
make.center.equalTo(self.bgRerecordView);
|
|
}];
|
|
[self.rerecordTitleView mas_makeConstraints:^(MASConstraintMaker *make) {
|
|
make.top.equalTo(self.bgRerecordView.mas_bottom).mas_offset(kGetScaleWidth(10));
|
|
make.centerX.equalTo(self.rerecordBtn);
|
|
|
|
}];
|
|
|
|
|
|
[self.bgDeleteView mas_makeConstraints:^(MASConstraintMaker *make) {
|
|
make.width.height.mas_equalTo(kGetScaleWidth(42));
|
|
make.centerY.equalTo(self.recordBtn);
|
|
make.leading.equalTo(self.recordBtn.mas_trailing).mas_offset(kGetScaleWidth(56));
|
|
}];
|
|
|
|
[self.deleteBtn mas_makeConstraints:^(MASConstraintMaker *make) {
|
|
make.width.height.mas_equalTo(kGetScaleWidth(18));
|
|
make.center.equalTo(self.bgDeleteView);
|
|
}];
|
|
|
|
[self.saveBtn mas_makeConstraints:^(MASConstraintMaker *make) {
|
|
make.width.height.mas_equalTo(kGetScaleWidth(42));
|
|
make.centerY.equalTo(self.recordBtn);
|
|
make.leading.equalTo(self.recordBtn.mas_trailing).mas_offset(kGetScaleWidth(56));
|
|
}];
|
|
[self.saveTitleView mas_makeConstraints:^(MASConstraintMaker *make) {
|
|
make.top.equalTo(self.rerecordTitleView);
|
|
make.centerX.equalTo(self.saveBtn);
|
|
}];
|
|
[self.resultView mas_makeConstraints:^(MASConstraintMaker *make) {
|
|
make.top.equalTo(self.recordTitleView.mas_bottom).mas_offset(kGetScaleWidth(54));
|
|
make.centerX.equalTo(self);
|
|
|
|
}];
|
|
[self.resultView.superview layoutIfNeeded];
|
|
self.scrollView.contentSize = CGSizeMake(0, self.resultView.frame.origin.y + self.resultView.frame.size.height );
|
|
}
|
|
-(void)recordingWithTime:(NSString *)time progress:(CGFloat)progress animated:(BOOL)animated{
|
|
self.timeView.text = time;
|
|
[self.progressView setProgress:progress animated:animated startAngle:-M_PI_2 clockwise:YES];
|
|
}
|
|
-(void)uploadRecordSuccess:(BOOL)isAudit{
|
|
self.bgDeleteView.hidden = NO;
|
|
self.resultView.hidden = NO;
|
|
self.bgRerecordView.hidden = NO;
|
|
self.rerecordTitleView.hidden = NO;
|
|
self.saveBtn.hidden = YES;
|
|
self.soundSVGAView.hidden = YES;
|
|
self.maiView.hidden = NO;
|
|
self.recordBtn.hidden = YES;
|
|
self.completedBtn.hidden = NO;
|
|
self.saveTitleView.hidden = NO;
|
|
self.recordTitleView.text = YMLocalizedString(@"XPMineUserInfoRecordedSoundView6");
|
|
self.saveTitleView.text = YMLocalizedString(@"XPMineUserInfoRecordedSoundView8");
|
|
self.resultView.text = isAudit == YES ? YMLocalizedString(@"XPMineUserInfoRecordedSoundView9") : YMLocalizedString(@"XPMineUserInfoRecordedSoundView4");
|
|
|
|
}
|
|
-(void)recordCompleted{
|
|
self.resultView.hidden = YES;
|
|
self.bgDeleteView.hidden = YES;
|
|
self.bgRerecordView.hidden = NO;
|
|
self.rerecordTitleView.hidden = NO;
|
|
self.saveBtn.hidden = NO;
|
|
self.soundSVGAView.hidden = YES;
|
|
self.maiView.hidden = NO;
|
|
self.recordBtn.hidden = YES;
|
|
self.completedBtn.hidden = NO;
|
|
self.saveTitleView.hidden = NO;
|
|
self.recordTitleView.text = YMLocalizedString(@"XPMineUserInfoRecordedSoundView6");
|
|
self.saveTitleView.text = YMLocalizedString(@"XPMineUserInfoRecordedSoundView3");
|
|
}
|
|
- (void)startRecord{
|
|
|
|
self.recordBtn.selected = YES;
|
|
self.soundSVGAView.hidden = NO;
|
|
self.maiView.hidden = YES;
|
|
self.recordTitleView.text = YMLocalizedString(@"XPMineUserInfoRecordedSoundView5");
|
|
}
|
|
-(void)stopRecord{
|
|
self.recordBtn.selected = NO;
|
|
self.soundSVGAView.hidden = YES;
|
|
self.maiView.hidden = NO;
|
|
self.recordTitleView.text = YMLocalizedString(@"XPMineUserInfoRecordedSoundView1");
|
|
}
|
|
-(void)resetRecord{
|
|
self.recordBtn.selected = NO;
|
|
self.soundSVGAView.hidden = YES;
|
|
self.maiView.hidden = NO;
|
|
self.recordTitleView.text = YMLocalizedString(@"XPMineUserInfoRecordedSoundView1");
|
|
self.bgRerecordView.hidden = YES;
|
|
self.rerecordTitleView.hidden = YES;
|
|
self.saveBtn.hidden = YES;
|
|
self.soundSVGAView.hidden = YES;
|
|
self.maiView.hidden = NO;
|
|
self.recordBtn.hidden = NO;
|
|
self.completedBtn.hidden = YES;
|
|
self.saveTitleView.hidden = YES;
|
|
self.bgDeleteView.hidden = YES;
|
|
self.resultView.hidden = YES;
|
|
self.completedBtn.selected = NO;
|
|
}
|
|
-(void)playRecord{
|
|
self.maiView.hidden = YES;
|
|
self.soundSVGAView.hidden = NO;
|
|
|
|
self.recordTitleView.text = YMLocalizedString(@"XPMineUserInfoRecordedSoundView7");
|
|
|
|
}
|
|
-(void)stopPlayRecord{
|
|
self.maiView.hidden = NO;
|
|
self.soundSVGAView.hidden = YES;
|
|
self.completedBtn.selected = NO;
|
|
self.recordTitleView.text = YMLocalizedString(@"XPMineUserInfoRecordedSoundView6");
|
|
}
|
|
-(void)saveRecordAction{
|
|
if(self.delegate && [self.delegate respondsToSelector:@selector(saveRecordAudio)]){
|
|
[self.delegate saveRecordAudio];
|
|
}
|
|
}
|
|
#pragma mark - buttonAction
|
|
-(void)recordAction{
|
|
if([XPSkillCardPlayerManager shareInstance].isMineInMic == YES){
|
|
[XNDJTDDLoadingTool showErrorWithMessage:YMLocalizedString(@"XPMineUserInfoRecordedSoundView10")];
|
|
return;
|
|
}
|
|
|
|
|
|
self.recordBtn.selected = !self.recordBtn.selected;
|
|
if(!self.recordBtn.selected){
|
|
self.recordBtn.userInteractionEnabled = NO;
|
|
dispatch_time_t popTime = dispatch_time(DISPATCH_TIME_NOW, (int64_t)(0.5 * NSEC_PER_SEC));
|
|
dispatch_after(popTime, dispatch_get_main_queue(), ^(void){
|
|
self.recordBtn.userInteractionEnabled = YES;
|
|
});
|
|
}
|
|
if(self.recordBtn.selected){
|
|
if(self.delegate && [self.delegate respondsToSelector:@selector(startRecordAudio)]){
|
|
[self.delegate startRecordAudio];
|
|
}
|
|
return;
|
|
}
|
|
if(self.delegate && [self.delegate respondsToSelector:@selector(stopRecordAudio)]){
|
|
[self.delegate stopRecordAudio];
|
|
}
|
|
|
|
}
|
|
-(void)playSoundAction{
|
|
self.completedBtn.selected = !self.completedBtn.selected;
|
|
if(self.completedBtn.selected){
|
|
if(self.delegate && [self.delegate respondsToSelector:@selector(playRecordAudio)]){
|
|
[self.delegate playRecordAudio];
|
|
}
|
|
|
|
return;
|
|
}
|
|
if(self.delegate && [self.delegate respondsToSelector:@selector(stopPlayRecordAudio)]){
|
|
[self.delegate stopPlayRecordAudio];
|
|
}
|
|
}
|
|
-(void)resetRecordAction{
|
|
if(self.delegate && [self.delegate respondsToSelector:@selector(resetRecordAudio)]){
|
|
[self.delegate resetRecordAudio];
|
|
}
|
|
}
|
|
-(void)deleteRecordingAction{
|
|
if(self.delegate && [self.delegate respondsToSelector:@selector(deleteRecordingAudio)]){
|
|
[self.delegate deleteRecordingAudio];
|
|
}
|
|
}
|
|
#pragma mark -懒加载
|
|
- (UIImageView *)bgImageView{
|
|
if (!_bgImageView){
|
|
_bgImageView = [UIImageView new];
|
|
UIImage *image = [UIImage gradientColorImageFromColors:@[UIColorFromRGB(0xDBE3FC),UIColorFromRGB(0xF2F1FF),[UIColor colorWithRed:255/255.0 green:255/255.0 blue:255/255.0 alpha:1]] gradientType:GradientTypeTopToBottom imgSize:CGSizeMake(KScreenWidth, kGetScaleWidth(216))];
|
|
_bgImageView.image = image;
|
|
}
|
|
return _bgImageView;
|
|
}
|
|
- (UIImageView *)recordView{
|
|
if (!_recordView){
|
|
_recordView = [UIImageView new];
|
|
_recordView.image = kImage(@"mine_recorded_sound_bg");
|
|
}
|
|
return _recordView;
|
|
}
|
|
- (SGYProgressView *)progressView{
|
|
if (!_progressView){
|
|
_progressView = [[SGYProgressView alloc]initWithFrame:CGRectMake(0, 0, kGetScaleWidth(180), kGetScaleWidth(180)) trackWidth:kGetScaleWidth(8)];
|
|
UIImage *image = [UIImage gradientColorImageFromColors:@[[DJDKMIMOMColor confirmButtonGradientStartColor],[DJDKMIMOMColor confirmButtonGradientMiddleColor],[DJDKMIMOMColor confirmButtonGradientEndColor]] gradientType:GradientTypeLeftToRight imgSize:CGSizeMake(kGetScaleWidth(180), kGetScaleWidth(180))];
|
|
_progressView.progressColor = [UIColor colorWithPatternImage:image];
|
|
_progressView.progressBgColor = [UIColor clearColor];
|
|
}
|
|
return _progressView;
|
|
}
|
|
- (UIImageView *)maiView{
|
|
if (!_maiView){
|
|
_maiView = [UIImageView new];
|
|
_maiView.image = kImage(@"mine_recorded_sound_mic");
|
|
}
|
|
return _maiView;
|
|
}
|
|
- (SVGAImageView *)soundSVGAView {
|
|
if (_soundSVGAView == nil) {
|
|
_soundSVGAView = [[SVGAImageView alloc]init];
|
|
_soundSVGAView.contentMode = UIViewContentModeScaleToFill;
|
|
_soundSVGAView.userInteractionEnabled = NO;
|
|
_soundSVGAView.hidden = YES;
|
|
_soundSVGAView.backgroundColor = [UIColor clearColor];
|
|
}
|
|
return _soundSVGAView;
|
|
}
|
|
- (UILabel *)timeView{
|
|
if (!_timeView){
|
|
_timeView = [UILabel labelInitWithText:@"0s/60s" font:kFontSemibold(14) textColor:[DJDKMIMOMColor inputTextColor]];
|
|
}
|
|
return _timeView;
|
|
}
|
|
- (UILabel *)promptView{
|
|
if (!_promptView){
|
|
_promptView = [UILabel labelInitWithText:YMLocalizedString(@"XPMineUserInfoRecordedSoundView0") font:kFontRegular(14) textColor:[DJDKMIMOMColor disableButtonTextColor]];
|
|
}
|
|
return _promptView;
|
|
}
|
|
|
|
- (UIView *)bgRecordView{
|
|
if (!_bgRecordView){
|
|
_bgRecordView = [[UIView alloc] init];
|
|
_bgRecordView.frame = CGRectMake(0,0,kGetScaleWidth(64),kGetScaleWidth(64));
|
|
_bgRecordView.layer.backgroundColor = [UIColor clearColor].CGColor;
|
|
_bgRecordView.layer.shadowColor = [UIColor colorWithRed:225/255.0 green:232/255.0 blue:246/255.0 alpha:1.0].CGColor;
|
|
_bgRecordView.layer.shadowOffset = CGSizeMake(0,kGetScaleWidth(1));
|
|
_bgRecordView.layer.shadowOpacity = kGetScaleWidth(1);
|
|
_bgRecordView.layer.shadowRadius = kGetScaleWidth(11);
|
|
UIView *bgView = [UIView new];
|
|
bgView.frame = CGRectMake(0,0,kGetScaleWidth(64),kGetScaleWidth(64));
|
|
bgView.backgroundColor = [UIColor whiteColor];
|
|
bgView.layer.cornerRadius = kGetScaleWidth(32);
|
|
bgView.layer.masksToBounds = YES;
|
|
[_bgRecordView addSubview:bgView];
|
|
}
|
|
return _bgRecordView;
|
|
}
|
|
-(UIButton *)completedBtn{
|
|
if (!_completedBtn){
|
|
_completedBtn = [UIButton new];
|
|
_completedBtn.hidden = YES;
|
|
[_completedBtn setImage:kImage(@"mine_recorded_sound_completed") forState:UIControlStateNormal];
|
|
[_completedBtn setImage:kImage(@"mine_recorded_sound_completeding") forState:UIControlStateSelected];
|
|
[_completedBtn setEnlargeEdgeWithTop:20 right:20 bottom:20 left:20];
|
|
[_completedBtn addTarget:self action:@selector(playSoundAction) forControlEvents:UIControlEventTouchUpInside];
|
|
}
|
|
return _completedBtn;
|
|
}
|
|
-(UIButton *)recordBtn{
|
|
if (!_recordBtn){
|
|
_recordBtn = [UIButton new];
|
|
[_recordBtn setBackgroundImage:kImage(@"mine_recorded_sound_start_record") forState:UIControlStateNormal];
|
|
[_recordBtn setBackgroundImage:kImage(@"mine_recorded_sound_recording") forState:UIControlStateSelected];
|
|
[_recordBtn setEnlargeEdgeWithTop:20 right:20 bottom:20 left:20];
|
|
[_recordBtn addTarget:self action:@selector(recordAction) forControlEvents:UIControlEventTouchUpInside];
|
|
}
|
|
return _recordBtn;
|
|
}
|
|
-(UILabel *)recordTitleView{
|
|
if (!_recordTitleView){
|
|
_recordTitleView = [UILabel labelInitWithText:YMLocalizedString(@"XPMineUserInfoRecordedSoundView1") font:kFontRegular(14) textColor:UIColorFromRGB(0x6D6B89)];
|
|
}
|
|
return _recordTitleView;
|
|
}
|
|
- (UIView *)bgRerecordView{
|
|
if (!_bgRerecordView){
|
|
_bgRerecordView = [[UIView alloc] init];
|
|
_bgRerecordView.frame = CGRectMake(0,0,kGetScaleWidth(42),kGetScaleWidth(42));
|
|
_bgRerecordView.layer.backgroundColor = [UIColor clearColor].CGColor;
|
|
_bgRerecordView.layer.shadowColor = [UIColor colorWithRed:225/255.0 green:232/255.0 blue:246/255.0 alpha:1.0].CGColor;
|
|
_bgRerecordView.layer.shadowOffset = CGSizeMake(0,kGetScaleWidth(1));
|
|
_bgRerecordView.layer.shadowOpacity = kGetScaleWidth(1);
|
|
_bgRerecordView.layer.shadowRadius = kGetScaleWidth(11);
|
|
UIView *bgView = [UIView new];
|
|
bgView.frame = CGRectMake(0,0,kGetScaleWidth(42),kGetScaleWidth(42));
|
|
bgView.backgroundColor = [UIColor whiteColor];
|
|
bgView.layer.cornerRadius = kGetScaleWidth(21);
|
|
bgView.layer.masksToBounds = YES;
|
|
[_bgRerecordView addSubview:bgView];
|
|
}
|
|
return _bgRerecordView;
|
|
}
|
|
-(UIButton *)rerecordBtn{
|
|
if (!_rerecordBtn){
|
|
_rerecordBtn = [UIButton new];
|
|
[_rerecordBtn setImage:kImage(@"mine_recorded_sound_rerecord") forState:UIControlStateNormal];
|
|
[_rerecordBtn setEnlargeEdgeWithTop:20 right:20 bottom:20 left:20];
|
|
[_rerecordBtn addTarget:self action:@selector(resetRecordAction) forControlEvents:UIControlEventTouchUpInside];
|
|
}
|
|
return _rerecordBtn;
|
|
}
|
|
-(UILabel *)rerecordTitleView{
|
|
if (!_rerecordTitleView){
|
|
_rerecordTitleView = [UILabel labelInitWithText:YMLocalizedString(@"XPMineUserInfoRecordedSoundView2") font:kFontRegular(12) textColor:UIColorFromRGB(0x6D6B89)];
|
|
}
|
|
return _rerecordTitleView;
|
|
}
|
|
-(UIView *)bgDeleteView{
|
|
if (!_bgDeleteView){
|
|
_bgDeleteView = [[UIView alloc] init];
|
|
_bgDeleteView.frame = CGRectMake(0,0,kGetScaleWidth(42),kGetScaleWidth(42));
|
|
_bgDeleteView.layer.backgroundColor = [UIColor clearColor].CGColor;
|
|
_bgDeleteView.layer.shadowColor = [UIColor colorWithRed:225/255.0 green:232/255.0 blue:246/255.0 alpha:1.0].CGColor;
|
|
_bgDeleteView.layer.shadowOffset = CGSizeMake(0,kGetScaleWidth(1));
|
|
_bgDeleteView.layer.shadowOpacity = kGetScaleWidth(1);
|
|
_bgDeleteView.layer.shadowRadius = kGetScaleWidth(11);
|
|
UIView *bgView = [UIView new];
|
|
bgView.frame = CGRectMake(0,0,kGetScaleWidth(42),kGetScaleWidth(42));
|
|
bgView.backgroundColor = [UIColor whiteColor];
|
|
bgView.layer.cornerRadius = kGetScaleWidth(21);
|
|
bgView.layer.masksToBounds = YES;
|
|
[_bgDeleteView addSubview:bgView];
|
|
}
|
|
return _bgDeleteView;
|
|
}
|
|
-(UIButton *)deleteBtn{
|
|
if (!_deleteBtn){
|
|
_deleteBtn = [UIButton new];
|
|
[_deleteBtn setImage:kImage(@"mine_recorded_sound_del") forState:UIControlStateNormal];
|
|
[_deleteBtn setEnlargeEdgeWithTop:10 right:10 bottom:10 left:10];
|
|
[_deleteBtn addTarget:self action:@selector(deleteRecordingAction) forControlEvents:UIControlEventTouchUpInside];
|
|
}
|
|
return _deleteBtn;
|
|
}
|
|
-(UIButton *)saveBtn{
|
|
if (!_saveBtn){
|
|
_saveBtn = [UIButton new];
|
|
[_saveBtn setImage:kImage(@"mine_recorded_sound_save") forState:UIControlStateNormal];
|
|
[_saveBtn setEnlargeEdgeWithTop:10 right:10 bottom:10 left:10];
|
|
[_saveBtn addTarget:self action:@selector(saveRecordAction) forControlEvents:UIControlEventTouchUpInside];
|
|
}
|
|
return _saveBtn;
|
|
}
|
|
-(UILabel *)saveTitleView{
|
|
if (!_saveTitleView){
|
|
_saveTitleView = [UILabel labelInitWithText:YMLocalizedString(@"XPMineUserInfoRecordedSoundView3") font:kFontRegular(12) textColor:UIColorFromRGB(0x6D6B89)];
|
|
}
|
|
return _saveTitleView;
|
|
}
|
|
-(UILabel *)resultView{
|
|
if (!_resultView){
|
|
_resultView = [UILabel labelInitWithText:YMLocalizedString(@"XPMineUserInfoRecordedSoundView4") font:kFontRegular(14) textColor:UIColorFromRGB(0x6D6B89)];
|
|
}
|
|
return _resultView;
|
|
}
|
|
-(UIScrollView *)scrollView{
|
|
if (!_scrollView){
|
|
_scrollView = [UIScrollView new];
|
|
|
|
}
|
|
return _scrollView;
|
|
}
|
|
@end
|
|
|
|
|
|
|
|
|