| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423 |
- //
- // NewestItemCell.m
- // BuguLive
- //
- // Created by 丁凯 on 2017/8/8.
- // Copyright © 2017年 xfg. All rights reserved.
- //
- #import "NewestItemCell.h"
- #import "LivingModel.h"
- #import "HMHotItemModel.h"
- #import "CustomEdgeInsetLabel.h"
- @implementation NewestItemCell{
- CGFloat _labelTitleWidth;
- }
- - (void)awakeFromNib{
- [super awakeFromNib];
- self.img_labels.hidden = YES;
- self.levelImageView.hidden = YES;
- // self.topConstraint.constant = 8;
- self.headImgView.layer.cornerRadius = 5;
- self.headImgView.layer.masksToBounds = YES;
- self.headImgView.contentMode = UIViewContentModeScaleAspectFill;
-
- self.shadowView.layer.cornerRadius = 5;
- self.shadowView.layer.masksToBounds = YES;
-
- self.recordBtn.spacingBetweenImageAndTitle = 5;
- [self.recordBtn setBackgroundColor:[UIColor colorWithRed:0 green:0 blue:0 alpha:0.4]];
- self.recordBtn.layer.cornerRadius = self.recordHeightConstraint.constant / 2;
- self.recordBtn.layer.masksToBounds = YES;
- self.recordLabel.hidden = YES;
-
- self.recordWidthConstraint.constant = 60;
- self.addressBtn.spacingBetweenImageAndTitle = 5;
-
- // if (_labelTitleWidth > kRealValue(20)) {
- self.labelWidthConstraint.constant = _labelTitleWidth;
- //TODO:uiview 单边圆角或者单边框
-
-
-
- // }
-
- }
- - (void)setModel:(HMHotItemModel *)model{
-
- // if (![BGUtils isBlankString:model.labels]) {
- // self.img_labels.hidden = NO;
- //
- // [self.img_labels sd_setImageWithURL:[NSURL URLWithString:model.labels] completed:^(UIImage * _Nullable image, NSError * _Nullable error, SDImageCacheType cacheType, NSURL * _Nullable imageURL) {
- // CGSize size=image.size;
- // self.widthConstraint.constant = size.width / 3;
- // self.heightConstraint.constant = size.height / 3;
- // NSLog(@"%@",image);
- // }];
- // self.topConstraint.constant = 36;
- // }
-
- self.img_labels.hidden = YES;
- self.nickNameL.text = [NSString stringWithFormat:@"ID:%d",model.room_id];
- if (StrValid(model.classified_title)) {
- [self.typeButton setTitle:[NSString stringWithFormat:@"%@",model.classified_title] forState:UIControlStateNormal];
- // [self.imgLabelBtn setBackgroundColor:[UIColor colorWithHexString:model.lable_color]];
-
- [self.typeButton setBackgroundImage:[UIImage imageNamed:@"home_list_type_other"] forState:UIControlStateNormal];
-
- self.typeButton.hidden = NO;
- }else{
- self.typeButton.hidden = YES;
- }
-
-
-
- //TODO:uiview 单边圆角或者单边框
- // UIBezierPath *maskPath = [UIBezierPath bezierPathWithRoundedRect:self.typeButton.bounds byRoundingCorners:(UIRectCornerTopRight | UIRectCornerBottomRight) cornerRadii:CGSizeMake(11,11)];//圆角大小
- // CAShapeLayer *maskLayer = [[CAShapeLayer alloc] init];
- // maskLayer.frame = self.typeButton.bounds;
- // maskLayer.path = maskPath.CGPath;
- // self.typeButton.layer.mask = maskLayer;
-
- self.layer.cornerRadius = 10;
- self.clipsToBounds = YES;
- [self.liveContentLabel setHidden:YES];
- [self.liveContentExtLabel setHidden:NO];
- // self.watchBtn.spacingBetweenImageAndTitle = 2;
- // self.watchBtn.imagePosition = QMUIButtonImagePositionLeft;
- if ([model.is_live_pay isEqualToString:@"1"]) {
- [self.recordBtn setTitle:ASLocalizedString(@"付费直播")forState:UIControlStateNormal];
- self.recordWidthConstraint.constant = 80;
- if([model.live_pay_type isEqualToString:@"1"])
- {
- self.liveContentLabel.text = [NSString stringWithFormat:ASLocalizedString(@"%@%@/场"),model.live_fee,[GlobalVariables sharedInstance].appModel.diamond_name];
- }
- else
- {
- self.liveContentLabel.text = [NSString stringWithFormat:ASLocalizedString(@"%@%@/分钟"),model.live_fee,[GlobalVariables sharedInstance].appModel.diamond_name];
- }
- if ([model.is_gaming isEqualToString:@"1"]) {
- self.liveContentExtLabel.text = model.game_name;
- }else{
- self.liveContentExtLabel.hidden = YES;
- }
- }else{
- [self.recordBtn setTitle:(model.live_in == FW_LIVE_STATE_ING ? ASLocalizedString(@"直播"): ASLocalizedString(@"回播")) forState:UIControlStateNormal];
- if ([model.is_gaming isEqualToString:@"1"]) {
- self.liveContentLabel.text = model.game_name;
- }else{
- self.liveContentLabel.hidden = YES;
- self.liveContentExtLabel.hidden = YES;
- }
- }
- [self.liveContentExtLabel setLocalizedString];
- [self.liveContentLabel setLocalizedString];
- self.isPKIngImg.hidden = YES;
-
- self.pkButton.hidden =
- self.PKingLabel.hidden =
- self.PKIngStatusImgV.hidden = YES;
-
- if ([model.is_video_pk isEqualToString:@"1"]) {
- self.isPKIngImg.hidden = NO;
-
- self.pkButton.hidden =
- self.PKingLabel.hidden =
- self.PKIngStatusImgV.hidden = NO;
- self.PKingLabel.text = ASLocalizedString(@"PK中");
- }
-
- self.levelImageView.hidden = YES;
- self.distanceLabel.hidden = YES;
- self.backgroundColor = kBackGroundColor;
- // [self.addressLabel setTextInsets:UIEdgeInsetsMake(0, 0, 0, 5)];
- [self.nameLabel setText:model.nick_name];
- [self.watchCountLabel setText:model.watch_number];
- [self.headImgView sd_setImageWithURL:[NSURL URLWithString:model.live_image] placeholderImage:kDefaultPreloadHeadImg];
-
- if (model.city.length > 0)
- {
- [self.addressBtn setTitle:[NSString stringWithFormat:@"%@",model.city] forState:UIControlStateNormal];
- // .text = [NSString stringWithFormat:@"%@",model.city];
- }else
- {
- [self.addressBtn setTitle:ASLocalizedString(@"火星")forState:UIControlStateNormal];
-
- }
- self.addressBtn.backgroundColor = kClearColor;
- // [self.watchBtn setTitle:model.watch_number forState:UIControlStateNormal];
- self.watchLabel.text = model.watch_number;
- [self isCheckModeWithUid:model.user_id];
- }
- - (void)setCellContent:(LivingModel *)LModel Type:(int)type{
-
- if (![BGUtils isBlankString:LModel.labels]) {
- self.img_labels.hidden = NO;
- [self.img_labels sd_setImageWithURL:[NSURL URLWithString:LModel.labels] completed:^(UIImage * _Nullable image, NSError * _Nullable error, SDImageCacheType cacheType, NSURL * _Nullable imageURL) {
- CGSize size=image.size;
- self.widthConstraint.constant = size.width / 3;
- self.heightConstraint.constant = size.height / 3;
- // NSLog(@"%@",size);
- NSLog(@"%@",image);
-
- }];
- self.topConstraint.constant = 36;
- }else{
- self.topConstraint.constant = 12;
- }
-
- self.nickNameL.text = [NSString stringWithFormat:@"ID:%d",LModel.room_id];
- self.img_labels.hidden = YES;
-
- if (StrValid(LModel.classified_title)) {
- [self.typeButton setTitle:[NSString stringWithFormat:@"%@",LModel.classified_title] forState:UIControlStateNormal];
- // [self.imgLabelBtn setBackgroundColor:[UIColor colorWithHexString:LModel.lable_color]];
- [self.typeButton setBackgroundImage:[UIImage imageNamed:@"home_list_type_other"] forState:UIControlStateNormal];
- self.typeButton.hidden = NO;
- }else{
- self.typeButton.hidden = YES;
- }
-
- if(LModel.password.length)
- {
- self.passwordImg.hidden = NO;
- self.passwordImgView.hidden = NO;
- }
- else
- {
- self.passwordImg.hidden = YES;
- self.passwordImgView.hidden = YES;
- }
-
- _labelTitleWidth = [NewestItemCell getWidthWithText:LModel.classified_title height:22 font:14] + kRealValue(20);
- //
- // CGRect frame = CGRectMake(0, 10, _labelTitleWidth, 20);
- //
- // UIBezierPath *maskPath = [UIBezierPath bezierPathWithRoundedRect:frame byRoundingCorners:(UIRectCornerTopRight | UIRectCornerBottomRight) cornerRadii:CGSizeMake(10,10)];//圆角大小
- // CAShapeLayer *maskLayer = [[CAShapeLayer alloc] init];
- // maskLayer.frame = frame;
- // maskLayer.path = maskPath.CGPath;
- // self.imgLabelBtn.layer.mask = maskLayer;
-
- // [NewestItemCell getLabelHeightWithText:LModel.classified_title width:kScreenW * 0.5 font:14];
- // CGSize ss = [self.imgLabelBtn.titleLabel sizeThatFits:CGSizeMake(kScreenW, CGFLOAT_MAX)];
-
- self.labelWidthConstraint.constant = _labelTitleWidth ;
-
- self.pkButton.hidden =
- self.PKingLabel.hidden =
- self.PKIngStatusImgV.hidden = YES;
-
- self.isPKIngImg.hidden = YES;
- if ([LModel.is_video_pk isEqualToString:@"1"]) {
- self.isPKIngImg.hidden = NO;
-
- self.pkButton.hidden =
- self.PKingLabel.hidden =
- self.PKIngStatusImgV.hidden = NO;
- self.PKingLabel.text = ASLocalizedString(@"PK中");
- }
-
- if (type == 1) {
- self.layer.cornerRadius = 10;
- self.clipsToBounds = YES;
- self.levelImageView.hidden = YES;
- self.distanceLabel.hidden = YES;
- [self.liveContentLabel setHidden:YES];
- [self.liveContentExtLabel setHidden:NO];
-
- if ([LModel.is_live_pay isEqualToString:@"1"]) {
- [self.recordBtn setTitle:ASLocalizedString(@"付费直播")forState:UIControlStateNormal];
- self.recordWidthConstraint.constant = 80;
- if([LModel.live_pay_type isEqualToString:@"1"])
- {
- self.liveContentLabel.text = [NSString stringWithFormat:ASLocalizedString(@"%@%@/场"),LModel.live_fee,[GlobalVariables sharedInstance].appModel.diamond_name];
- }
- else
- {
- self.liveContentLabel.text = [NSString stringWithFormat:ASLocalizedString(@"%@%@/分钟"),LModel.live_fee,[GlobalVariables sharedInstance].appModel.diamond_name];
- }
- if ([LModel.is_gaming isEqualToString:@"1"]) {
- [self.liveContentExtLabel setHidden:YES];
- self.liveContentExtLabel.text = LModel.game_name;
- }else{
- self.liveContentExtLabel.hidden = YES;
- }
- }else{
- // self.stateLabel.text = (LModel.live_in == FW_LIVE_STATE_ING ? ASLocalizedString(@"直播"): ASLocalizedString(@"回播"));
- [self.recordBtn setTitle:(LModel.live_in == FW_LIVE_STATE_ING ? ASLocalizedString(@"直播"): ASLocalizedString(@"回播")) forState:UIControlStateNormal];
- if ([LModel.is_gaming isEqualToString:@"1"]) {
- self.liveContentLabel.text = LModel.game_name;
- self.liveContentExtLabel.hidden = YES;
- }else{
- self.liveContentLabel.hidden = YES;
- self.liveContentExtLabel.hidden = YES;
- }
- }
-
- [self.headImgView sd_setImageWithURL:[NSURL URLWithString:LModel.live_image] placeholderImage:kDefaultPreloadHeadImg];
-
- // [self.nameLabel setText:LModel.nick_name];
- [self.nameLabel setText:LModel.title];
- [self.watchCountLabel setText:LModel.watch_number];
- // [self.watchBtn setTitle:LModel.watch_number forState:UIControlStateNormal];
- self.watchLabel.text = LModel.watch_number;
- [self.headImgView sd_setImageWithURL:[NSURL URLWithString:LModel.live_image] placeholderImage:kDefaultPreloadHeadImg];
- if (LModel.city.length > 0){
- [self.addressBtn setTitle:[NSString stringWithFormat:@"%@",LModel.city] forState:UIControlStateNormal];
- }else
- {
- [self.addressBtn setTitle:ASLocalizedString(@"火星")forState:UIControlStateNormal];
- }
-
- self.addressBtn.hidden = YES;
- }else{
-
- self.layer.cornerRadius = 10;
- self.clipsToBounds = YES;
- // self.recordLabel.text = (LModel.live_in == FW_LIVE_STATE_ING ? ASLocalizedString(@"直播"): ASLocalizedString(@"回播"));
- [self.recordBtn setTitle:(LModel.live_in == FW_LIVE_STATE_ING ? ASLocalizedString(@"直播"): ASLocalizedString(@"回播")) forState:UIControlStateNormal];
- // [self.stateLabel setHidden:NO];
- // [self.recordLabel setHidden:NO];
-
- [self.liveContentLabel setHidden:YES];
- [self.liveContentExtLabel setHidden:YES];
- [self.addressBtn setHidden:NO];
- [self.liveContentLabel setHighlighted:YES];
- [self.headImgView sd_setImageWithURL:[NSURL URLWithString:LModel.live_image] placeholderImage:kDefaultPreloadHeadImg];
- [self.nameLabel setText:LModel.title];
-
- [self.watchCountLabel setHidden:NO];
- // self.watchBtn.hidden = NO;
- // [self.watchBtn setTitle:LModel.watch_number forState:UIControlStateNormal];
- self.watchLabel.text = LModel.watch_number;
- // [self.recordLabel setHidden:YES];
- [self.watchingLabel setHidden:YES];
- self.levelImageView.image = [UIImage imageNamed:[NSString stringWithFormat:@"level%@",LModel.user_level]];
-
- self.distanceLabel.hidden = YES;
-
- if (LModel.city.length > 0)
- {
- [self.addressBtn setTitle:[NSString stringWithFormat:@"%@",LModel.city] forState:UIControlStateNormal];
- // .text = [NSString stringWithFormat:@"%@",LModel.city];
- }else
- {
- [self.addressBtn setTitle:ASLocalizedString(@"火星")forState:UIControlStateNormal];
- }
- }
-
-
- if(LModel.is_voice == 1)
- {
- [self.recordBtn setTitle:ASLocalizedString(@"语音直播") forState:UIControlStateNormal];
- self.recordWidthConstraint.constant = 100;
- }
-
- self.backgroundColor = UIColor.clearColor;
- self.addressBtn.backgroundColor = kClearColor;
- // self.watchBtn.spacingBetweenImageAndTitle = 4;
- // self.watchBtn.imagePosition = QMUIButtonImagePositionLeft;
- [self isCheckModeWithUid:LModel.user_id];
-
- [self setAnnimateImage];
- }
- //判断是否是审核模式
- -(void)isCheckModeWithUid:(NSString *)uid{
- if (kIsCheckingVersion() )
- {
- [self.headImgView sd_setImageWithURL:nil placeholderImage:[[GlobalVariables sharedInstance]getKatongImageWidthID:uid]];
- self.img_labels.hidden = YES;
- }
- }
- -(void)setAnnimateImage{
-
- NSMutableArray *arr = [NSMutableArray array];
- for (int i = 0; i < 10; i ++) {
- [arr addObject:[UIImage imageNamed:[NSString stringWithFormat:@"mg_home_jump%d",i]]];
- }
-
- self.recordBtn.imageView.image = arr.firstObject;
- self.recordBtn.imageView.animationImages = arr;
- //动画的总时长(一组动画坐下来的时间 6张图片显示一遍的总时间)
- self.recordBtn.imageView.animationDuration = 2;
- self.recordBtn.imageView.animationRepeatCount = 0;//动画进行几次结束
- [self.recordBtn.imageView startAnimating];//开始动画
- // [imageView stopAnimating];//停止动画
- self.recordBtn.imageView.userInteractionEnabled = YES;
-
- }
- //根据宽度求高度 content 计算的内容 width 计算的宽度 font字体大小
- + (CGFloat)getLabelHeightWithText:(NSString *)text width:(CGFloat)width font: (CGFloat)font
- {
- CGRect rect = [text boundingRectWithSize:CGSizeMake(width, MAXFLOAT) options:NSStringDrawingUsesLineFragmentOrigin attributes:@{NSFontAttributeName:[UIFont systemFontOfSize:font]} context:nil];
-
- return rect.size.height;
- }
- //根据高度度求宽度 text 计算的内容 Height 计算的高度 font字体大小
- + (CGFloat)getWidthWithText:(NSString *)text height:(CGFloat)height font:(CGFloat)font{
-
- CGRect rect = [text boundingRectWithSize:CGSizeMake(MAXFLOAT, height)
- options:NSStringDrawingUsesLineFragmentOrigin
- attributes:@{NSFontAttributeName:[UIFont systemFontOfSize:font]}
- context:nil];
- return rect.size.width;
- }
- - (void)layoutSubviews{
-
- self.labelWidthConstraint.constant = _labelTitleWidth;
- // //TODO:uiview 单边圆角或者单边框
- // UIBezierPath *maskPath = [UIBezierPath bezierPathWithRoundedRect:self.imgLabelBtn.bounds byRoundingCorners:(UIRectCornerTopRight | UIRectCornerBottomRight) cornerRadii:CGSizeMake(10,10)];//圆角大小
- // CAShapeLayer *maskLayer = [[CAShapeLayer alloc] init];
- // maskLayer.frame = self.imgLabelBtn.bounds;
- // maskLayer.path = maskPath.CGPath;
- // self.imgLabelBtn.layer.mask = maskLayer;
-
-
- // CGRect frame = CGRectMake(self.imgLabelBtn.left, self.imgLabelBtn.y, _labelTitleWidth, self.imgLabelBtn.height);
- //
- // UIBezierPath *maskPath = [UIBezierPath bezierPathWithRoundedRect:frame byRoundingCorners:(UIRectCornerTopRight | UIRectCornerBottomRight) cornerRadii:CGSizeMake(10,10)];//圆角大小
- // CAShapeLayer *maskLayer = [[CAShapeLayer alloc] init];
- // maskLayer.frame = frame;
- // maskLayer.path = maskPath.CGPath;
- // self.imgLabelBtn.layer.mask = maskLayer;
-
- // _labelTitleWidth = [NewestItemCell getWidthWithText:LModel.classified_title height:22 font:14] + kRealValue(20);
-
- CGRect frame = CGRectMake(0, 0, _labelTitleWidth, 20);
-
- // UIBezierPath *maskPath = [UIBezierPath bezierPathWithRoundedRect:frame byRoundingCorners:(UIRectCornerTopRight | UIRectCornerBottomRight) cornerRadii:CGSizeMake(10,10)];//圆角大小
- // CAShapeLayer *maskLayer = [[CAShapeLayer alloc] init];
- // maskLayer.frame = frame;
- // maskLayer.path = maskPath.CGPath;
- // self.typeButton.layer.mask = maskLayer;
- }
- @end
|