JTRecordView.m 2.47 KB
//
//  JTRecordView.m
//  JobTalk
//
//  Created by Xummer on 14-7-29.
//  Copyright (c) 2014年 BST. All rights reserved.
//

#define INDICATOR_WIDTH     (120)
#define RECORD_PADDING      (10)
#define RECORD_LABEL_HEIGHT (20)

#import "JTRecordView.h"

@interface JTRecordView ()
@property (strong, nonatomic) UIImageView* m_recordIndicateView;
@property (strong, nonatomic) UILabel* m_recordLabel;
@end

@implementation JTRecordView

#pragma mark - Life Cycle
- (id)initWithFrame:(CGRect)frame
{
    self = [super initWithFrame:frame];
    if (self) {
        [self m_init];
    }
    return self;
}

- (void)layoutSubviews {
    [super layoutSubviews];
    
    self.m_recordIndicateView.frame = (CGRect){
        .origin.x = (CGRectGetWidth(self.bounds) - INDICATOR_WIDTH) * .5f,
        .origin.y = (CGRectGetHeight(self.bounds) - INDICATOR_WIDTH) * (1 - 0.618),
        .size.width = INDICATOR_WIDTH,
        .size.height = INDICATOR_WIDTH
    };
    
    self.m_recordLabel.frame = (CGRect){
        .origin.x = RECORD_PADDING,
        .origin.y = CGRectGetHeight(_m_recordIndicateView.bounds) - RECORD_PADDING - RECORD_LABEL_HEIGHT,
        .size.width = CGRectGetWidth(_m_recordIndicateView.bounds) - 2 * RECORD_PADDING,
        .size.height = RECORD_LABEL_HEIGHT
    };
}

#pragma mark - Public Method
- (void)updateWithWavePower:(NSUInteger)power {
    
    if (power < 1) {
        power = 1;
    }
    else if (power > 4) {
        power = 4;
    }
    
    NSString *waveName = [NSString stringWithFormat:@"recorder_animation_0%ld",(long)power];
    
    self.m_recordIndicateView.image = [UIImage imageNamed:waveName];
}

#pragma mark - Private Method

- (void)m_init {
    self.backgroundColor = [UIColor clearColor];
    self.m_recordIndicateView = [[UIImageView alloc] init];
    _m_recordIndicateView.backgroundColor = [UIColor colorWithW:0 a:.8];
    _m_recordIndicateView.contentMode = UIViewContentModeCenter;
    _m_recordIndicateView.layer.cornerRadius = 5;
    _m_recordIndicateView.layer.masksToBounds = YES;
    
    self.m_recordLabel = [[UILabel alloc] init];
    _m_recordLabel.font = [UIFont boldSystemFontOfSize:13];
    _m_recordLabel.adjustsFontSizeToFitWidth = YES;
    _m_recordLabel.textColor = [UIColor whiteColor];
    _m_recordLabel.textAlignment = NSTextAlignmentCenter;
    
    _m_recordLabel.text = @"松手结束";
    
    [_m_recordIndicateView addSubview:_m_recordLabel];
    
    [self addSubview:_m_recordIndicateView];
    
    
    
    [self updateWithWavePower:1];
}

@end