| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167 |
- //
- // WaitExamBodyView.m
- // MusicGradeExam
- //
- // Created by Kyle on 2020/7/15.
- // Copyright © 2020 DayaMusic. All rights reserved.
- //
- #import "WaitExamBodyView.h"
- @interface WaitExamBodyView ()
- @property (weak, nonatomic) IBOutlet UIButton *signButton;
- @property (weak, nonatomic) IBOutlet UILabel *signDescLabel;
- @property (weak, nonatomic) IBOutlet UILabel *classDate;
- @property (weak, nonatomic) IBOutlet UILabel *subjectLabel;
- @property (weak, nonatomic) IBOutlet UILabel *classTime;
- @property (weak, nonatomic) IBOutlet UILabel *waitLabel;
- @property (nonatomic, copy) JoinRoomAction callback;
- @property (nonatomic, strong) TicketDetailModel *sourceModel;
- @property (nonatomic, strong) CAGradientLayer *gradientLayer;
- @end
- @implementation WaitExamBodyView
- - (void)awakeFromNib {
- [super awakeFromNib];
- [self.signButton.layer insertSublayer:self.gradientLayer atIndex:0];
- self.signButton.layer.masksToBounds = YES;
- }
- - (void)layoutSubviews {
- [super layoutSubviews];
- //在这里获取frame
- if (_gradientLayer) {
- _gradientLayer.frame = CGRectMake(0, 0, CGRectGetWidth(self.signButton.frame), CGRectGetHeight(self.signButton.frame));
- }
- }
- + (instancetype)shareInstance {
- WaitExamBodyView *view = [[[NSBundle mainBundle] loadNibNamed:@"WaitExamBodyView" owner:nil options:nil] firstObject];
- return view;
- }
- - (void)configMessageSource:(TicketDetailModel *)source {
- self.sourceModel = source;
- if ([NSString isEmptyString:source.signInTime]) {
- self.isSign = NO;
- self.signDescLabel.text = @"您还未签到,签到后可进入教室";
- }
- else {
- self.isSign = YES;
- self.signDescLabel.text = @"您已签到,请点击下方按钮进入教室";
- }
-
- if (self.sourceModel.openFlag == 1) {
- [self.joinButton setTitle:@"录播考试" forState:UIControlStateNormal];
- }
- else {
- [self.joinButton setTitle:@"进入教室" forState:UIControlStateNormal];
- }
-
- self.canJoinRoom = self.sourceModel.classroomSwitch;
-
- self.classDate.text = [[self.sourceModel.examStartTime componentsSeparatedByString:@" "] firstObject];
- self.subjectLabel.text = [NSString returnNoNullStringWithString:self.sourceModel.baseExamName];
- self.waitLabel.text = [NSString stringWithFormat:@"%.0f位考生",self.sourceModel.waitNum];
-
- // 时间
- NSDateFormatter *dateFormatter=[[NSDateFormatter alloc] init];
- dateFormatter.timeZone = [NSTimeZone systemTimeZone];
- [dateFormatter setDateFormat:@"yyyy-MM-dd HH:mm:ss"];
- NSDate *beginDate = [dateFormatter dateFromString:source.examStartTime];
- NSDate *endDate = [dateFormatter dateFromString:source.examEndTime];
- [dateFormatter setDateFormat:@"HH:mm"];
- NSString *beginStr = [NSString returnNoNullStringWithString:[dateFormatter stringFromDate:beginDate]];
- NSString *endStr = [NSString returnNoNullStringWithString:[dateFormatter stringFromDate:endDate]];
- self.classTime.text = [NSString stringWithFormat:@"%@-%@", beginStr, endStr];
- }
- - (void)setIsSign:(BOOL)isSign {
- _isSign = isSign;
- if (isSign) {
- [self.gradientLayer removeFromSuperlayer];
- _gradientLayer = nil;
- self.signButton.userInteractionEnabled = NO;
- [self.signButton setTitle:@"已签到" forState:UIControlStateNormal];
- }
- else {
- [self.signButton.layer insertSublayer:self.gradientLayer atIndex:0];
- self.signButton.userInteractionEnabled = YES;
- [self.signButton setTitle:@"签到" forState:UIControlStateNormal];
- }
- }
- - (void)setCanJoinRoom:(BOOL)canJoinRoom {
- _canJoinRoom = canJoinRoom;
- if (canJoinRoom) {
- self.joinButton.userInteractionEnabled = YES;
- [self.joinButton setBackgroundColor:THEMECOLOR];
- }
- else {
- self.joinButton.userInteractionEnabled = NO;
- [self.joinButton setBackgroundColor:HexRGB(0xcccccc)];
- }
- }
- - (void)operationCallback:(JoinRoomAction)callback {
- if (callback) {
- self.callback = callback;
- }
- }
- - (IBAction)signAction:(id)sender {
- if (self.callback) {
- self.callback(JOINROOMACTION_SIGN, self.sourceModel);
- }
- }
- - (IBAction)guideAction:(id)sender {
- if (self.callback) {
- self.callback(JOINROOMACTION_GUIDE, nil);
- }
- }
- - (IBAction)joinAction:(id)sender {
- if (self.callback) {
- self.callback(JOINROOMACTION_JOIN, self.sourceModel);
- }
- }
- - (CAGradientLayer *)gradientLayer {
- if (!_gradientLayer) {
- _gradientLayer = [CAGradientLayer layer];
- _gradientLayer.startPoint = CGPointMake(0.5, 0.02);
- _gradientLayer.endPoint = CGPointMake(0.5, 0.97);
- _gradientLayer.locations = @[@(0),@(1.0)];//渐变点
- UIColor *startColor = HexRGB(0xffd1b0);
- UIColor *endColor = HexRGB(0xffb378);
- [_gradientLayer setColors:@[(id)(startColor.CGColor),(id)(endColor.CGColor)]];//渐变数组
- }
- return _gradientLayer;
- }
- /*
- // Only override drawRect: if you perform custom drawing.
- // An empty implementation adversely affects performance during animation.
- - (void)drawRect:(CGRect)rect {
- // Drawing code
- }
- */
- @end
|