房间相册

This commit is contained in:
liyuhua
2023-10-12 11:45:47 +08:00
parent 361a92989e
commit 29ea2bdcd0
51 changed files with 1440 additions and 13 deletions

View File

@@ -0,0 +1,6 @@
{
"info" : {
"author" : "xcode",
"version" : 1
}
}

View File

@@ -0,0 +1,22 @@
{
"images" : [
{
"idiom" : "universal",
"scale" : "1x"
},
{
"filename" : "pi_room_photo_album_choose_photo_back@2x.png",
"idiom" : "universal",
"scale" : "2x"
},
{
"filename" : "pi_room_photo_album_choose_photo_back@3x.png",
"idiom" : "universal",
"scale" : "3x"
}
],
"info" : {
"author" : "xcode",
"version" : 1
}
}

View File

@@ -0,0 +1,22 @@
{
"images" : [
{
"idiom" : "universal",
"scale" : "1x"
},
{
"filename" : "pi_room_photo_album_choose_photo_gift_arrow@2x.png",
"idiom" : "universal",
"scale" : "2x"
},
{
"filename" : "pi_room_photo_album_choose_photo_gift_arrow@3x.png",
"idiom" : "universal",
"scale" : "3x"
}
],
"info" : {
"author" : "xcode",
"version" : 1
}
}

View File

@@ -0,0 +1,22 @@
{
"images" : [
{
"idiom" : "universal",
"scale" : "1x"
},
{
"filename" : "pi_room_photo_album_choose_photo_icon@2x.png",
"idiom" : "universal",
"scale" : "2x"
},
{
"filename" : "pi_room_photo_album_choose_photo_icon@3x.png",
"idiom" : "universal",
"scale" : "3x"
}
],
"info" : {
"author" : "xcode",
"version" : 1
}
}

View File

@@ -0,0 +1,22 @@
{
"images" : [
{
"idiom" : "universal",
"scale" : "1x"
},
{
"filename" : "pi_room_photo_album_choose_photo_icon@2x.png",
"idiom" : "universal",
"scale" : "2x"
},
{
"filename" : "pi_room_photo_album_choose_photo_icon@3x.png",
"idiom" : "universal",
"scale" : "3x"
}
],
"info" : {
"author" : "xcode",
"version" : 1
}
}

View File

@@ -0,0 +1,22 @@
{
"images" : [
{
"idiom" : "universal",
"scale" : "1x"
},
{
"filename" : "pi_room_photo_album_diamond@2x.png",
"idiom" : "universal",
"scale" : "2x"
},
{
"filename" : "pi_room_photo_album_diamond@3x.png",
"idiom" : "universal",
"scale" : "3x"
}
],
"info" : {
"author" : "xcode",
"version" : 1
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 913 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

View File

@@ -0,0 +1,22 @@
{
"images" : [
{
"idiom" : "universal",
"scale" : "1x"
},
{
"filename" : "pi_room_photo_album_line@2x.png",
"idiom" : "universal",
"scale" : "2x"
},
{
"filename" : "pi_room_photo_album_line@3x.png",
"idiom" : "universal",
"scale" : "3x"
}
],
"info" : {
"author" : "xcode",
"version" : 1
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 304 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 455 B

View File

@@ -0,0 +1,22 @@
{
"images" : [
{
"idiom" : "universal",
"scale" : "1x"
},
{
"filename" : "pi_room_photo_album_lock@2x.png",
"idiom" : "universal",
"scale" : "2x"
},
{
"filename" : "pi_room_photo_album_lock@3x.png",
"idiom" : "universal",
"scale" : "3x"
}
],
"info" : {
"author" : "xcode",
"version" : 1
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 589 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 887 B

View File

@@ -0,0 +1,22 @@
{
"images" : [
{
"idiom" : "universal",
"scale" : "1x"
},
{
"filename" : "pi_room_photo_album_operate@2x.png",
"idiom" : "universal",
"scale" : "2x"
},
{
"filename" : "pi_room_photo_album_operate@3x.png",
"idiom" : "universal",
"scale" : "3x"
}
],
"info" : {
"author" : "xcode",
"version" : 1
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 384 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 611 B

View File

@@ -67,6 +67,7 @@
//////banner
@property(nonatomic,copy) NSArray *bannerList;
@end
@implementation XPIAPRechargeViewController
@@ -213,11 +214,15 @@
[self showSuccessToast:YMLocalizedString(@"XPIAPRechargeViewController11")];
return;
}
RechargeListModel *model = [self.dataSource safeObjectAtIndex1:self.selectedIndex.row];
if (model.chargeProdId) {
[XNDJTDDLoadingTool showOnlyView:kWindow];
[self.presenter requestIAPRechargeOrderWithChargeProdId:model.chargeProdId];
NSInteger index = self.bannerList.count > 0 ? self.selectedIndex.row - 1 : self.selectedIndex.row;
if(index < self.dataSource.count){
RechargeListModel *model = [self.dataSource safeObjectAtIndex1:index];
if (model.chargeProdId) {
[XNDJTDDLoadingTool showOnlyView:kWindow];
[self.presenter requestIAPRechargeOrderWithChargeProdId:model.chargeProdId];
}
}
}
- (void)protcoloButtonAction:(UIButton *)sender {
@@ -246,6 +251,11 @@
}
- (void)getBannerListSuccessWithList:(NSArray *)list{
self.bannerList = list;
if(self.bannerList.count > 0){
self.selectedIndex = [NSIndexPath indexPathForRow:1 inSection:0];
}else{
self.selectedIndex = [NSIndexPath indexPathForRow:0 inSection:0];
}
[self.collectionView reloadData];
}
///
@@ -467,7 +477,10 @@
#pragma mark - UICollectionViewDelegate
- (NSInteger)collectionView:(UICollectionView *)collectionView numberOfItemsInSection:(NSInteger)section {
return self.dataSource.count + self.bannerList.count;
if(self.bannerList.count > 0){
return self.dataSource.count + 1;
}
return self.dataSource.count;
}
- (CGSize)collectionView:(UICollectionView *)collectionView layout:(UICollectionViewLayout*)collectionViewLayout sizeForItemAtIndexPath:(NSIndexPath *)indexPath{
return self.bannerList.count > 0 && indexPath.row == 0 ? CGSizeMake(KScreenWidth, kGetScaleWidth(114)) : CGSizeMake(KScreenWidth, kGetScaleWidth(80));

View File

@@ -56,6 +56,8 @@ typedef NS_ENUM(NSInteger, RoomMoreMenuType) {
RoomMoreMenuType_Room_Wish_Gift = 22,
///举报
RoomMoreMenuType_Room_report = 23,
///房间相册
RoomMoreMenuType_Room_Room_Photo_Album = 24,
};
@interface XPRoomMoreItemModel : NSObject

View File

@@ -131,6 +131,13 @@
report.type = RoomMoreMenuType_Room_report;
report.titleColor = [DJDKMIMOMColor roomMoreMenuTextColor];
XPRoomMoreItemModel * roomPhotoAlbum = [[XPRoomMoreItemModel alloc] init];
roomPhotoAlbum.title = YMLocalizedString(@"XPMoreMenuPresenter37");
roomPhotoAlbum.imageName = @"room_info_report";
roomPhotoAlbum.type = RoomMoreMenuType_Room_Room_Photo_Album;
roomPhotoAlbum.titleColor = [DJDKMIMOMColor roomMoreMenuTextColor];
NSString * uid = [AccountInfoStorage instance].getUid;
if (uid.length <= 0) {
return;
@@ -196,6 +203,7 @@
}
[array addObject:report];
[array addObject:roomPhotoAlbum];
[[self getView] getMoreMenuDataSuccess:array];
}];
}

View File

@@ -38,6 +38,7 @@
#import "XPAnchorPKSelectTypeController.h"
#import "XPRoomTrumpetViewController.h"
#import "XPWebViewController.h"
#import "PIRoomPhotoAlbumVC.h"
///P
#import "XPMoreMenuPresenter.h"
#import "XPMoreMenuProtocol.h"
@@ -509,6 +510,13 @@ UIKIT_EXTERN NSString * const kRoomGiftEffectUpdateNotificationKey;
[TTPopup actionSheetWithItems:@[action,action1]];
break;
}
case RoomMoreMenuType_Room_Room_Photo_Album:
{
[self dismissViewControllerAnimated:NO completion:nil];
PIRoomPhotoAlbumVC *albumVC = [PIRoomPhotoAlbumVC new];
[self.hostDelegate.getCurrentNav pushViewController:albumVC animated:YES];
}
break;
default:
break;
}

View File

@@ -0,0 +1,17 @@
//
// PIRoomPhotoAlbumItemChoosePhotoModel.h
// YuMi
//
// Created by duoban on 2023/10/11.
//
#import <Foundation/Foundation.h>
NS_ASSUME_NONNULL_BEGIN
@interface PIRoomPhotoAlbumItemChoosePhotoModel : NSObject
@property(nonatomic,assign) BOOL isDefault;
@property(nonatomic,strong) UIImage *chooseImage;
@end
NS_ASSUME_NONNULL_END

View File

@@ -0,0 +1,12 @@
//
// PIRoomPhotoAlbumItemChoosePhotoModel.m
// YuMi
//
// Created by duoban on 2023/10/11.
//
#import "PIRoomPhotoAlbumItemChoosePhotoModel.h"
@implementation PIRoomPhotoAlbumItemChoosePhotoModel
@end

View File

@@ -0,0 +1,16 @@
//
// PIRoomPhotoAlbumChoosePhotoCell.h
// YuMi
//
// Created by duoban on 2023/10/11.
//
#import <UIKit/UIKit.h>
#import "PIRoomPhotoAlbumItemChoosePhotoModel.h"
NS_ASSUME_NONNULL_BEGIN
@interface PIRoomPhotoAlbumChoosePhotoCell : UICollectionViewCell
@property(nonatomic,strong) PIRoomPhotoAlbumItemChoosePhotoModel *chooseModel;
@end
NS_ASSUME_NONNULL_END

View File

@@ -0,0 +1,96 @@
//
// PIRoomPhotoAlbumChoosePhotoCell.m
// YuMi
//
// Created by duoban on 2023/10/11.
//
#import "PIRoomPhotoAlbumChoosePhotoCell.h"
@interface PIRoomPhotoAlbumChoosePhotoCell()
///
@property(nonatomic,strong) UIImageView *bgImageView;
///
@property(nonatomic,strong) UILabel *titleView;
///icon
@property(nonatomic,strong) UIImageView *pi_iconView;
///
@property(nonatomic,strong) UIButton *pi_delBtn;
@end
@implementation PIRoomPhotoAlbumChoosePhotoCell
-(instancetype)initWithFrame:(CGRect)frame{
self = [super initWithFrame:frame];
if(self){
[self installUI];
[self installConstraints];
}
return self;
}
-(void)installUI{
[self.contentView addSubview:self.bgImageView];
[self.bgImageView addSubview:self.pi_delBtn];
[self.bgImageView addSubview:self.pi_iconView];
[self.bgImageView addSubview:self.titleView];
}
-(void)installConstraints{
[self.bgImageView mas_makeConstraints:^(MASConstraintMaker *make) {
make.edges.equalTo(self.contentView);
}];
[self.pi_delBtn mas_makeConstraints:^(MASConstraintMaker *make) {
make.width.height.mas_equalTo(kGetScaleWidth(14));
make.top.mas_equalTo(kGetScaleWidth(4));
make.trailing.mas_equalTo(-kGetScaleWidth(6));
}];
[self.pi_iconView mas_makeConstraints:^(MASConstraintMaker *make) {
make.width.mas_equalTo(kGetScaleWidth(54));
make.height.mas_equalTo(kGetScaleWidth(47));
make.centerX.equalTo(self.bgImageView);
make.top.mas_equalTo(kGetScaleWidth(17));
}];
[self.titleView mas_makeConstraints:^(MASConstraintMaker *make) {
make.height.mas_equalTo(kGetScaleWidth(20));
make.leading.trailing.equalTo(self.bgImageView);
make.top.mas_equalTo(kGetScaleWidth(68));
}];
}
- (void)setChooseModel:(PIRoomPhotoAlbumItemChoosePhotoModel *)chooseModel{
_chooseModel = chooseModel;
_pi_iconView.hidden = !_chooseModel.isDefault;
_titleView.hidden = !_chooseModel.isDefault;
_pi_delBtn.hidden = _chooseModel.isDefault;
_bgImageView.image = _chooseModel.isDefault == YES ? nil : _chooseModel.chooseImage;
}
#pragma mark -
- (UIImageView *)bgImageView{
if(!_bgImageView){
_bgImageView = [UIImageView new];
_bgImageView.backgroundColor = UIColorFromRGB(0xF5F6FA);
[_bgImageView setCornerWithLeftTopCorner:kGetScaleWidth(8) rightTopCorner:kGetScaleWidth(8) bottomLeftCorner:kGetScaleWidth(8) bottomRightCorner:kGetScaleWidth(8) size:CGSizeMake(kGetScaleWidth(100), kGetScaleWidth(102))];
_bgImageView.userInteractionEnabled = YES;
}
return _bgImageView;
}
- (UIImageView *)pi_iconView{
if(!_pi_iconView){
_pi_iconView = [UIImageView new];
_pi_iconView.image = kImage(@"pi_room_photo_album_choose_photo_icon");
}
return _pi_iconView;
}
- (UILabel *)titleView{
if(!_titleView){
_titleView = [UILabel labelInitWithText:YMLocalizedString(@"PIRoomPhotoAlbumChoosePhotoCell0") font:kFontRegular(10) textColor:UIColorFromRGB(0xB3B3C3)];
_titleView.textAlignment = NSTextAlignmentCenter;
}
return _titleView;
}
- (UIButton *)pi_delBtn{
if(!_pi_delBtn){
_pi_delBtn = [UIButton new];
[_pi_delBtn setEnlargeEdgeWithTop:10 right:10 bottom:10 left:10];
[_pi_delBtn setImage:kImage(@"pi_room_photo_album_choose_photo_icon") forState:UIControlStateNormal];
}
return _pi_delBtn;
}
@end

View File

@@ -0,0 +1,16 @@
//
// PIRoomPhotoAlbumItemCell.h
// YuMi
//
// Created by duoban on 2023/10/11.
//
#import <UIKit/UIKit.h>
NS_ASSUME_NONNULL_BEGIN
@interface PIRoomPhotoAlbumItemCell : UICollectionViewCell
@end
NS_ASSUME_NONNULL_END

View File

@@ -0,0 +1,169 @@
//
// PIRoomPhotoAlbumItemCell.m
// YuMi
//
// Created by duoban on 2023/10/11.
//
#import "PIRoomPhotoAlbumItemCell.h"
@interface PIRoomPhotoAlbumItemCell()
///
@property(nonatomic,strong) UIButton *operateBtn;
///
@property(nonatomic,strong) NetImageView *bgImageView;
///
@property(nonatomic,strong) UIView *coverView;
///
@property(nonatomic,strong) NetImageView *giftView;
///icon
@property(nonatomic,strong) UIImageView *diamondView;
///
@property(nonatomic,strong) UILabel *pi_priceView;
///
@property(nonatomic,strong) UIImageView *lockView;
@end
@implementation PIRoomPhotoAlbumItemCell
-(instancetype)initWithFrame:(CGRect)frame{
self = [super initWithFrame:frame];
if(self){
[self installUI];
[self installConstraints];
}
return self;
}
-(void)installUI{
[self.contentView addSubview:self.bgImageView];
[self.bgImageView addSubview:self.operateBtn];
[self.bgImageView addSubview:self.coverView];
[self.bgImageView addSubview:self.lockView];
[self.coverView addSubview:self.giftView];
[self.coverView addSubview:self.diamondView];
[self.coverView addSubview:self.pi_priceView];
}
-(void)installConstraints{
[self.bgImageView mas_makeConstraints:^(MASConstraintMaker *make) {
make.edges.equalTo(self.contentView);
}];
[self.operateBtn mas_makeConstraints:^(MASConstraintMaker *make) {
make.width.mas_equalTo(kGetScaleWidth(28));
make.height.mas_equalTo(kGetScaleWidth(18));
make.top.trailing.equalTo(self.bgImageView);
}];
[self.coverView mas_makeConstraints:^(MASConstraintMaker *make) {
make.leading.bottom.trailing.equalTo(self.bgImageView);
make.height.mas_equalTo(kGetScaleWidth(32));
}];
[self.giftView mas_makeConstraints:^(MASConstraintMaker *make) {
make.width.height.mas_equalTo(kGetScaleWidth(24));
make.leading.mas_equalTo(kGetScaleWidth(8));
make.centerY.equalTo(self.coverView);
}];
[self.diamondView mas_makeConstraints:^(MASConstraintMaker *make) {
make.width.height.mas_equalTo(kGetScaleWidth(16));
make.centerY.equalTo(self.coverView);
make.leading.mas_equalTo(kGetScaleWidth(38));
}];
[self.pi_priceView mas_makeConstraints:^(MASConstraintMaker *make) {
make.leading.mas_equalTo(kGetScaleWidth(55));
make.centerY.equalTo(self.coverView);
make.trailing.mas_equalTo(-kGetScaleWidth(8));
}];
[self.lockView mas_makeConstraints:^(MASConstraintMaker *make) {
make.width.height.mas_equalTo(kGetScaleWidth(36));
make.centerX.equalTo(self.contentView);
make.top.mas_equalTo(kGetScaleWidth(54));
}];
}
-(UIImage *)setBlurImage:(UIImage *)image{
CIContext *context = [CIContext contextWithOptions:nil];
CIImage * sourceImage = [CIImage imageWithCGImage:image.CGImage];//CIImage
///仿
CIFilter * clamp = [CIFilter filterWithName:@"CIAffineClamp"];//
[clamp setValue:sourceImage forKey:kCIInputImageKey];//
CIImage *clampResult = [clamp valueForKey:kCIOutputImageKey];
///
CIFilter* gaussianBlur = [CIFilter filterWithName:@"CIGaussianBlur"];
[gaussianBlur setValue:clampResult forKey:kCIInputImageKey];
[gaussianBlur setValue:[NSNumber numberWithFloat:10] forKey:@"inputRadius"];//
CIImage * gaussianBlurResult = [gaussianBlur valueForKey:kCIOutputImageKey];
///
CGImageRef cgImage = [context createCGImage:gaussianBlurResult fromRect:[sourceImage extent]];
UIImage * resultImage = [UIImage imageWithCGImage:cgImage];
return resultImage;
}
#pragma mark -
- (NetImageView *)bgImageView{
if(!_bgImageView){
NetImageConfig *config = [[NetImageConfig alloc]init];
config.placeHolder = [UIImageConstant defaultAvatarPlaceholder];
_bgImageView = [[NetImageView alloc]initWithConfig:config];
_bgImageView.userInteractionEnabled = YES;
[_bgImageView setCornerWithLeftTopCorner:kGetScaleWidth(8) rightTopCorner:kGetScaleWidth(8) bottomLeftCorner:kGetScaleWidth(8) bottomRightCorner:kGetScaleWidth(8) size:CGSizeMake(kGetScaleWidth(168), kGetScaleWidth(170))];
}
return _bgImageView;
}
- (UIView *)coverView{
if(!_coverView){
_coverView = [UIView new];
_coverView.backgroundColor = [UIColor colorWithWhite:0 alpha:0.6];
[_coverView setCornerWithLeftTopCorner:0 rightTopCorner:kGetScaleWidth(8) bottomLeftCorner:kGetScaleWidth(8) bottomRightCorner:kGetScaleWidth(8) size:CGSizeMake(kGetScaleWidth(168), kGetScaleWidth(32))];
}
return _coverView;
}
- (NetImageView *)giftView{
if(!_giftView){
NetImageConfig *config = [[NetImageConfig alloc]init];
config.placeHolder = [UIImageConstant defaultAvatarPlaceholder];
_giftView = [[NetImageView alloc]initWithConfig:config];
_giftView.layer.cornerRadius = kGetScaleWidth(4)/2;
_giftView.layer.masksToBounds = YES;
_giftView.layer.borderWidth = 1;
_giftView.layer.borderColor = [UIColor whiteColor].CGColor;
}
return _giftView;
}
- (UIImageView *)diamondView{
if(!_diamondView){
_diamondView = [UIImageView new];
_diamondView.image = kImage(@"pi_room_photo_album_diamond");
}
return _diamondView;
}
- (UIImageView *)lockView{
if(!_lockView){
_lockView = [UIImageView new];
_lockView.image = kImage(@"pi_room_photo_album_lock");
}
return _lockView;
}
- (UILabel *)pi_priceView{
if(!_pi_priceView){
_pi_priceView = [UILabel labelInitWithText:@"0" font:kFontRegular(10) textColor:[UIColor whiteColor]];
}
return _pi_priceView;
}
- (UIButton *)operateBtn{
if(!_operateBtn){
_operateBtn = [UIButton new];
[_operateBtn setBackgroundImage:kImage(@"pi_room_photo_album_operate") forState:UIControlStateNormal];
}
return _operateBtn;
}
@end

View File

@@ -0,0 +1,16 @@
//
// PIRoomPhotoAlbumItemVC.h
// YuMi
//
// Created by duoban on 2023/10/11.
//
#import "MvpViewController.h"
#import <JXCategoryView/JXCategoryListContainerView.h>
NS_ASSUME_NONNULL_BEGIN
@interface PIRoomPhotoAlbumItemVC : MvpViewController<JXCategoryListContentViewDelegate>
@end
NS_ASSUME_NONNULL_END

View File

@@ -0,0 +1,95 @@
//
// PIRoomPhotoAlbumItemVC.m
// YuMi
//
// Created by duoban on 2023/10/11.
//
#import "PIRoomPhotoAlbumItemVC.h"
#import "PIRoomPhotoAlbumItemCell.h"
#import "PIRoomPhotoAlbumChoosePhotoView.h"
@interface PIRoomPhotoAlbumItemVC ()<UICollectionViewDelegate,UICollectionViewDataSource>
@property(nonatomic,strong) UICollectionView *collectionView;
@property(nonatomic,strong) UIButton *sendImageView;
@end
@implementation PIRoomPhotoAlbumItemVC
- (void)viewDidLoad {
[super viewDidLoad];
[self installUI];
[self installConstraints];
}
-(void)installUI{
[self.view addSubview:self.collectionView];
[self.view addSubview:self.sendImageView];
}
-(void)installConstraints{
[self.collectionView mas_makeConstraints:^(MASConstraintMaker *make) {
make.edges.equalTo(self.view);
}];
[self.sendImageView mas_makeConstraints:^(MASConstraintMaker *make) {
make.width.mas_equalTo(kGetScaleWidth(303));
make.height.mas_equalTo(kGetScaleWidth(48));
make.centerX.equalTo(self.view);
make.bottom.mas_equalTo(-kGetScaleWidth(44));
}];
}
#pragma mark -UICollectionViewDelegate,UICollectionViewDataSource
-(NSInteger)collectionView:(UICollectionView *)collectionView numberOfItemsInSection:(NSInteger)section{
return 8;
}
-(__kindof UICollectionViewCell *)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath{
PIRoomPhotoAlbumItemCell *cell = [collectionView dequeueReusableCellWithReuseIdentifier:NSStringFromClass([PIRoomPhotoAlbumItemCell class]) forIndexPath:indexPath];
return cell;
}
#pragma mark - JXCategoryListContentViewDelegate
- (UIView *)listView {
return self.view;
}
-(void)sendImageAction{
PIRoomPhotoAlbumChoosePhotoView *photoView = [[PIRoomPhotoAlbumChoosePhotoView alloc]initWithFrame:CGRectMake(0, KScreenHeight, KScreenWidth, KScreenHeight)];
[kWindow addSubview:photoView];
[UIView animateWithDuration:0.5 animations:^{
photoView.frame = CGRectMake(0, 0, KScreenWidth, KScreenHeight);
} completion:^(BOOL finished) {
photoView.backgroundColor = [UIColor colorWithWhite:0 alpha:0.4];
}];
}
#pragma mark -
- (UICollectionView *)collectionView{
if (!_collectionView) {
UICollectionViewFlowLayout *layout = [[UICollectionViewFlowLayout alloc] init];
_collectionView = [[UICollectionView alloc] initWithFrame:CGRectZero collectionViewLayout:layout];
layout.itemSize = CGSizeMake(kGetScaleWidth(168), kGetScaleWidth(170));
layout.scrollDirection = UICollectionViewScrollDirectionVertical;
layout.minimumLineSpacing = kGetScaleWidth(12);
layout.minimumInteritemSpacing = kGetScaleWidth(12);
layout.sectionInset = UIEdgeInsetsMake(kGetScaleWidth(12), kGetScaleWidth(12), kGetScaleWidth(12), kGetScaleWidth(12));
_collectionView.dataSource = self;
_collectionView.delegate = self;
_collectionView.showsHorizontalScrollIndicator = NO;
if (@available(iOS 11.0, *)) {
_collectionView.contentInsetAdjustmentBehavior = UIScrollViewContentInsetAdjustmentNever;
}
_collectionView.backgroundColor = [DJDKMIMOMColor colorWithHexString:@"#F4F4FA"];
[_collectionView registerClass:[PIRoomPhotoAlbumItemCell class] forCellWithReuseIdentifier:NSStringFromClass([PIRoomPhotoAlbumItemCell class])];
}
return _collectionView;
}
- (UIButton *)sendImageView{
if(!_sendImageView){
_sendImageView = [UIButton new];
[_sendImageView setTitle:YMLocalizedString(@"PIRoomPhotoAlbumItemVC0") forState:UIControlStateNormal];
[_sendImageView setTitleColor:[UIColor whiteColor] forState:UIControlStateNormal];
_sendImageView.titleLabel.font = kFontMedium(16);
UIImage *image = [UIImage gradientColorImageFromColors:@[[DJDKMIMOMColor confirmButtonGradientStartColor],[DJDKMIMOMColor confirmButtonGradientMiddleColor],[DJDKMIMOMColor confirmButtonGradientEndColor]] gradientType:GradientTypeLeftToRight imgSize:CGSizeMake(kGetScaleWidth(303), kGetScaleWidth(48))];
[_sendImageView setBackgroundImage:image forState:UIControlStateNormal];
_sendImageView.layer.cornerRadius = kGetScaleWidth(48)/2;
_sendImageView.layer.masksToBounds = YES;
[_sendImageView addTarget:self action:@selector(sendImageAction) forControlEvents:UIControlEventTouchUpInside];
}
return _sendImageView;
}
@end

View File

@@ -0,0 +1,16 @@
//
// PIRoomPhotoAlbumVC.h
// YuMi
//
// Created by duoban on 2023/10/11.
//
#import "MvpViewController.h"
NS_ASSUME_NONNULL_BEGIN
@interface PIRoomPhotoAlbumVC : MvpViewController
@end
NS_ASSUME_NONNULL_END

View File

@@ -0,0 +1,104 @@
//
// PIRoomPhotoAlbumVC.m
// YuMi
//
// Created by duoban on 2023/10/11.
//
#import "PIRoomPhotoAlbumVC.h"
#import <JXCategoryView/JXCategoryView.h>
#import <JXCategoryView/JXCategoryIndicatorBackgroundView.h>
#import <JXCategoryView/JXCategoryListContainerView.h>
#import "PIRoomPhotoAlbumItemVC.h"
@interface PIRoomPhotoAlbumVC ()<JXCategoryViewDelegate, JXCategoryListContainerViewDelegate>
///
@property (nonatomic, strong) NSArray<NSString *> *titles;
///
@property (nonatomic, strong) JXCategoryTitleView *titleView;
///lineView
@property (nonatomic, strong) JXCategoryListContainerView *contentView;
@end
@implementation PIRoomPhotoAlbumVC
- (void)viewDidLoad {
[super viewDidLoad];
[self installUI];
[self installConstraints];
}
-(void)installUI{
self.title = YMLocalizedString(@"PIRoomPhotoAlbumVC0");
[self.view addSubview:self.titleView];
[self.view addSubview:self.contentView];
}
-(void)installConstraints{
[self.titleView mas_makeConstraints:^(MASConstraintMaker *make) {
make.top.mas_equalTo(self.view);
make.left.right.mas_equalTo(self.view);
make.height.mas_equalTo(kGetScaleWidth(44));
}];
[self.contentView mas_makeConstraints:^(MASConstraintMaker *make) {
make.top.mas_equalTo(self.titleView.mas_bottom);
make.left.right.bottom.mas_equalTo(self.view);
}];
}
#pragma mark - JXCategoryViewDelegate
- (NSInteger)numberOfListsInlistContainerView:(JXCategoryListContainerView *)listContainerView {
return self.titles.count;
}
- (id<JXCategoryListContentViewDelegate>)listContainerView:(JXCategoryListContainerView *)listContainerView initListForIndex:(NSInteger)index {
UIViewController<JXCategoryListContentViewDelegate> * list = (UIViewController<JXCategoryListContentViewDelegate> *)[self.contentView.validListDict objectForKey:[NSNumber numberWithInteger:index]];
if (list) {
return list;
} else {
PIRoomPhotoAlbumItemVC *vc = [PIRoomPhotoAlbumItemVC new];
return vc;
}
}
#pragma mark -
- (JXCategoryTitleView *)titleView {
if (!_titleView) {
_titleView = [[JXCategoryTitleView alloc] init];
_titleView.delegate = self;
_titleView.titles = self.titles;
_titleView.backgroundColor = [UIColor clearColor];
_titleView.titleColor = UIColorFromRGB(0x767585);
_titleView.titleSelectedColor = UIColorFromRGB(0x1F1B4F);
_titleView.titleFont =kFontSemibold(16);
_titleView.titleSelectedFont = kFontSemibold(16);
_titleView.titleLabelAnchorPointStyle = JXCategoryTitleLabelAnchorPointStyleCenter;
_titleView.contentScrollViewClickTransitionAnimationEnabled = NO;
_titleView.averageCellSpacingEnabled = NO;
_titleView.contentEdgeInsetLeft = kGetScaleWidth(32);
_titleView.contentEdgeInsetRight = kGetScaleWidth(32);
_titleView.cellWidth = kGetScaleWidth(66);
_titleView.cellSpacing = kGetScaleWidth(56);
_titleView.defaultSelectedIndex = 0;
_titleView.listContainer = self.contentView;
JXCategoryIndicatorImageView *lineView = [[JXCategoryIndicatorImageView alloc] init];
lineView.indicatorImageViewSize = CGSizeMake(kGetScaleWidth(16), kGetScaleWidth(4));
lineView.verticalMargin = 7;
lineView.indicatorImageView.image = [UIImage imageNamed:@"pi_room_photo_album_line"];
_titleView.indicators = @[lineView];
}
return _titleView;
}
- (NSArray<NSString *> *)titles{
return @[YMLocalizedString(@"PIRoomPhotoAlbumVC1"),YMLocalizedString(@"PIRoomPhotoAlbumVC2"),YMLocalizedString(@"PIRoomPhotoAlbumVC3")];
}
- (JXCategoryListContainerView *)contentView {
if (!_contentView) {
_contentView = [[JXCategoryListContainerView alloc] initWithType:JXCategoryListContainerType_ScrollView delegate:self];
_contentView.defaultSelectedIndex = 0;
}
return _contentView;
}
@end

View File

@@ -0,0 +1,24 @@
//
// PIRoomPhotoAlbumChoosePhotoGiftView.h
// YuMi
//
// Created by duoban on 2023/10/11.
//
#import <UIKit/UIKit.h>
typedef enum : NSUInteger {
Photo_Type_Normal,///普通照片
Photo_Type_Unlock,///解锁照片
Photo_Type_Choose_Gift,///解锁照片-已选礼物
Photo_Type_No_Choose_Gift,///解锁照片-没选礼物
} PIRoomPhotoAlbumChoosePhotoGiftViewType;
NS_ASSUME_NONNULL_BEGIN
@interface PIRoomPhotoAlbumChoosePhotoGiftView : UIView
@property(nonatomic,assign) PIRoomPhotoAlbumChoosePhotoGiftViewType photoType;
@property(nonatomic,assign) PIRoomPhotoAlbumChoosePhotoGiftViewType chooseGiftType;
@end
NS_ASSUME_NONNULL_END

View File

@@ -0,0 +1,144 @@
//
// PIRoomPhotoAlbumChoosePhotoGiftView.m
// YuMi
//
// Created by duoban on 2023/10/11.
//
#import "PIRoomPhotoAlbumChoosePhotoGiftView.h"
@interface PIRoomPhotoAlbumChoosePhotoGiftView()
//
@property(nonatomic,strong) UIImageView *arrowView;
///
@property(nonatomic,strong) UILabel *titleView;
///
@property(nonatomic,strong) UILabel *tipsView;
///
@property(nonatomic,strong) NetImageView *giftView;
///
@property(nonatomic,strong) UILabel *giftNameView;
///icon
@property(nonatomic,strong) UIImageView *diamondView;
///
@property(nonatomic,strong) UILabel *pi_priceView;
@end
@implementation PIRoomPhotoAlbumChoosePhotoGiftView
-(instancetype)initWithFrame:(CGRect)frame{
self = [super initWithFrame:frame];
if(self){
[self installUI];
[self installConstraints];
}
return self;
}
-(void)installUI{
self.layer.cornerRadius = kGetScaleWidth(6);
self.backgroundColor = UIColorFromRGB(0xF5F6FA);
self.layer.masksToBounds = YES;
[self addSubview:self.titleView];
[self addSubview:self.tipsView];
[self addSubview:self.arrowView];
[self addSubview:self.giftView];
[self addSubview:self.giftNameView];
[self addSubview:self.diamondView];
[self addSubview:self.pi_priceView];
}
-(void)installConstraints{
[self.titleView mas_makeConstraints:^(MASConstraintMaker *make) {
make.leading.mas_equalTo(kGetScaleWidth(20));
make.centerY.equalTo(self);
}];
[self.arrowView mas_makeConstraints:^(MASConstraintMaker *make) {
make.width.height.mas_equalTo(kGetScaleWidth(14));
make.centerY.equalTo(self);
make.trailing.mas_equalTo(-kGetScaleWidth(16));
}];
[self.tipsView mas_makeConstraints:^(MASConstraintMaker *make) {
make.trailing.equalTo(self.arrowView.mas_leading).mas_offset(-kGetScaleWidth(6));
make.centerY.equalTo(self);
}];
[self.pi_priceView mas_makeConstraints:^(MASConstraintMaker *make) {
make.trailing.equalTo(self.arrowView.mas_leading).mas_offset(-kGetScaleWidth(6));
make.centerY.equalTo(self);
}];
[self.diamondView mas_makeConstraints:^(MASConstraintMaker *make) {
make.height.mas_equalTo(kGetScaleWidth(16));
make.trailing.equalTo(self.pi_priceView.mas_leading).mas_offset(-kGetScaleWidth(1));
make.centerY.equalTo(self);
}];
[self.giftNameView mas_makeConstraints:^(MASConstraintMaker *make) {
make.trailing.equalTo(self.diamondView.mas_leading).mas_offset(-kGetScaleWidth(12));
make.centerY.equalTo(self);
}];
[self.giftView mas_makeConstraints:^(MASConstraintMaker *make) {
make.width.height.mas_equalTo(kGetScaleWidth(24));
make.trailing.equalTo(self.giftNameView.mas_leading).mas_offset(-kGetScaleWidth(4));
make.centerY.equalTo(self);
}];
}
- (void)setPhotoType:(PIRoomPhotoAlbumChoosePhotoGiftViewType)photoType{
_photoType = photoType;
_tipsView.text = _photoType == Photo_Type_Normal ? YMLocalizedString(@"PIRoomPhotoAlbumChoosePhotoGiftView1"):YMLocalizedString(@"PIRoomPhotoAlbumChoosePhotoGiftView2");
}
- (void)setChooseGiftType:(PIRoomPhotoAlbumChoosePhotoGiftViewType)chooseGiftType{
_chooseGiftType = chooseGiftType;
_tipsView.hidden = _chooseGiftType == Photo_Type_Choose_Gift;
_giftView.hidden = _chooseGiftType != Photo_Type_Choose_Gift;
_giftNameView.hidden = _chooseGiftType != Photo_Type_Choose_Gift;
_diamondView.hidden = _chooseGiftType != Photo_Type_Choose_Gift;
_pi_priceView.hidden = _chooseGiftType != Photo_Type_Choose_Gift;
}
#pragma mark -
- (UILabel *)titleView{
if(!_titleView){
_titleView = [UILabel labelInitWithText:YMLocalizedString(@"PIRoomPhotoAlbumChoosePhotoGiftView0") font:kFontRegular(14) textColor:UIColorFromRGB(0xB3B3C3)];
}
return _titleView;
}
- (UIImageView *)arrowView{
if(!_arrowView){
_arrowView = [UIImageView new];
_arrowView.image = kImage(@"pi_room_photo_album_choose_photo_gift_arrow");
}
return _arrowView;
}
- (UILabel *)tipsView{
if(!_tipsView){
_tipsView = [UILabel labelInitWithText:@"" font:kFontRegular(14) textColor:UIColorFromRGB(0xB3B3C3)];
}
return _tipsView;
}
- (NetImageView *)giftView{
if(!_giftView){
NetImageConfig *config = [[NetImageConfig alloc]init];
config.placeHolder = [UIImageConstant defaultAvatarPlaceholder];
_giftView = [[NetImageView alloc]initWithConfig:config];
_giftView.layer.cornerRadius = kGetScaleWidth(4)/2;
_giftView.layer.masksToBounds = YES;
}
return _giftView;
}
- (UIImageView *)diamondView{
if(!_diamondView){
_diamondView = [UIImageView new];
_diamondView.image = kImage(@"pi_room_photo_album_diamond");
}
return _diamondView;
}
- (UILabel *)giftNameView{
if(!_giftNameView){
_giftNameView = [UILabel labelInitWithText:@"" font:kFontRegular(14) textColor:UIColorFromRGB(0x1F1B4F)];
}
return _giftNameView;
}
- (UILabel *)pi_priceView{
if(!_pi_priceView){
_pi_priceView = [UILabel labelInitWithText:@"0" font:kFontRegular(14) textColor:UIColorFromRGB(0x1F1B4F)];
}
return _pi_priceView;
}
@end

View File

@@ -0,0 +1,25 @@
//
// PIRoomPhotoAlbumChoosePhotoTypeView.h
// YuMi
//
// Created by duoban on 2023/10/11.
//
#import <UIKit/UIKit.h>
#import "PIRoomPhotoAlbumChoosePhotoGiftView.h"
@protocol PIRoomPhotoAlbumChoosePhotoTypeViewDelegate <NSObject>
-(void)clickPhotoType:(PIRoomPhotoAlbumChoosePhotoGiftViewType)type;
@end
NS_ASSUME_NONNULL_BEGIN
@interface PIRoomPhotoAlbumChoosePhotoTypeView : UIView
@property(nonatomic,weak) id<PIRoomPhotoAlbumChoosePhotoTypeViewDelegate>delegate;
@end
NS_ASSUME_NONNULL_END

View File

@@ -0,0 +1,106 @@
//
// PIRoomPhotoAlbumChoosePhotoTypeView.m
// YuMi
//
// Created by duoban on 2023/10/11.
//
#import "PIRoomPhotoAlbumChoosePhotoTypeView.h"
@interface PIRoomPhotoAlbumChoosePhotoTypeView()
@property(nonatomic,strong) UILabel *typeView;
@property(nonatomic,strong) UIButton *normalView;
@property(nonatomic,strong) UIButton *unlockView;
@end
@implementation PIRoomPhotoAlbumChoosePhotoTypeView
-(instancetype)initWithFrame:(CGRect)frame{
self = [super initWithFrame:frame];
if(self){
[self installUI];
[self installConstraints];
}
return self;
}
-(void)installUI{
self.layer.cornerRadius = kGetScaleWidth(6);
self.backgroundColor = UIColorFromRGB(0xF5F6FA);
self.layer.masksToBounds = YES;
[self addSubview:self.typeView];
[self addSubview:self.normalView];
[self addSubview:self.unlockView];
}
-(void)installConstraints{
[self.typeView mas_makeConstraints:^(MASConstraintMaker *make) {
make.centerY.equalTo(self);
make.leading.mas_equalTo(kGetScaleWidth(20));
make.height.mas_equalTo(kGetScaleWidth(20));
}];
[self.unlockView mas_makeConstraints:^(MASConstraintMaker *make) {
make.trailing.mas_equalTo(-kGetScaleWidth(16));
make.width.mas_equalTo(kGetScaleWidth(80));
make.height.mas_equalTo(kGetScaleWidth(32));
make.centerY.equalTo(self);
}];
[self.normalView mas_makeConstraints:^(MASConstraintMaker *make) {
make.width.mas_equalTo(kGetScaleWidth(80));
make.height.mas_equalTo(kGetScaleWidth(32));
make.centerY.equalTo(self);
make.trailing.equalTo(self.unlockView.mas_leading).mas_offset(-kGetScaleWidth(12));
}];
}
-(void)clickPhotoTypeAction:(UIButton *)sender{
self.normalView.selected = self.normalView == sender;
self.unlockView.selected = self.unlockView == sender;
if(self.delegate && [self.delegate respondsToSelector:@selector(clickPhotoType:)]){
[self.delegate clickPhotoType:self.normalView == sender ? Photo_Type_Normal : Photo_Type_Unlock];
}
}
#pragma mark -
- (UILabel *)typeView{
if(!_typeView){
_typeView = [UILabel labelInitWithText:YMLocalizedString(@"PIRoomPhotoAlbumChoosePhotoTypeView0") font:kFontMedium(14) textColor:UIColorFromRGB(0x1F1B4F)];
}
return _typeView;
}
-(UIButton *)normalView{
if(!_normalView){
_normalView = [UIButton new];
[_normalView setTitle:YMLocalizedString(@"PIRoomPhotoAlbumChoosePhotoTypeView1") forState:UIControlStateNormal];
_normalView.selected = YES;
[_normalView setTitleColor:[UIColor whiteColor] forState:UIControlStateSelected];
[_normalView setTitleColor:UIColorFromRGB(0x9168FA) forState:UIControlStateNormal];
_normalView.titleLabel.font = kFontMedium(12);
UIImage *selectedImage = [UIImage gradientColorImageFromColors:@[UIColorFromRGB(0x9168FA),UIColorFromRGB(0x9168FA),UIColorFromRGB(0x9168FA)] gradientType:GradientTypeLeftToRight imgSize:CGSizeMake(kGetScaleWidth(80), kGetScaleWidth(21))];
[_normalView setBackgroundImage:selectedImage forState:UIControlStateSelected];
UIImage *image = [UIImage gradientColorImageFromColors:@[UIColorFromRGB(0xF5F6FA),UIColorFromRGB(0xF5F6FA),UIColorFromRGB(0xF5F6FA)] gradientType:GradientTypeLeftToRight imgSize:CGSizeMake(kGetScaleWidth(80), kGetScaleWidth(21))];
[_normalView setBackgroundImage:image forState:UIControlStateNormal];
_normalView.layer.cornerRadius = kGetScaleWidth(6);
_normalView.layer.masksToBounds = YES;
_normalView.layer.borderWidth = 1;
_normalView.layer.borderColor = UIColorFromRGB(0x9168FA).CGColor;
[_normalView addTarget:self action:@selector(clickPhotoTypeAction:) forControlEvents:UIControlEventTouchUpInside];
}
return _normalView;
}
-(UIButton *)unlockView{
if(!_unlockView){
_unlockView = [UIButton new];
[_unlockView setTitle:YMLocalizedString(@"PIRoomPhotoAlbumChoosePhotoTypeView2") forState:UIControlStateNormal];
[_unlockView setTitleColor:[UIColor whiteColor] forState:UIControlStateSelected];
UIImage *selectedImage = [UIImage gradientColorImageFromColors:@[UIColorFromRGB(0x9168FA),UIColorFromRGB(0x9168FA),UIColorFromRGB(0x9168FA)] gradientType:GradientTypeLeftToRight imgSize:CGSizeMake(kGetScaleWidth(80), kGetScaleWidth(21))];
[_unlockView setBackgroundImage:selectedImage forState:UIControlStateSelected];
UIImage *image = [UIImage gradientColorImageFromColors:@[UIColorFromRGB(0xF5F6FA),UIColorFromRGB(0xF5F6FA),UIColorFromRGB(0xF5F6FA)] gradientType:GradientTypeLeftToRight imgSize:CGSizeMake(kGetScaleWidth(80), kGetScaleWidth(21))];
[_unlockView setBackgroundImage:image forState:UIControlStateNormal];
_unlockView.layer.cornerRadius = kGetScaleWidth(6);
_unlockView.layer.masksToBounds = YES;
_unlockView.layer.borderWidth = 1;
_unlockView.layer.borderColor = UIColorFromRGB(0x9168FA).CGColor;
[_unlockView setTitleColor:UIColorFromRGB(0x9168FA) forState:UIControlStateNormal];
_unlockView.titleLabel.font = kFontMedium(12);
[_unlockView addTarget:self action:@selector(clickPhotoTypeAction:) forControlEvents:UIControlEventTouchUpInside];
}
return _unlockView;
}
@end

View File

@@ -0,0 +1,16 @@
//
// PIRoomPhotoAlbumChoosePhotoView.h
// YuMi
//
// Created by duoban on 2023/10/11.
//
#import <UIKit/UIKit.h>
NS_ASSUME_NONNULL_BEGIN
@interface PIRoomPhotoAlbumChoosePhotoView : UIView
@end
NS_ASSUME_NONNULL_END

View File

@@ -0,0 +1,186 @@
//
// PIRoomPhotoAlbumChoosePhotoView.m
// YuMi
//
// Created by duoban on 2023/10/11.
//
#import "PIRoomPhotoAlbumChoosePhotoView.h"
#import "PIRoomPhotoAlbumChoosePhotoCell.h"
#import "PIRoomPhotoAlbumItemChoosePhotoModel.h"
#import "PIRoomPhotoAlbumChoosePhotoTypeView.h"
#import "PIRoomPhotoAlbumChoosePhotoGiftView.h"
@interface PIRoomPhotoAlbumChoosePhotoView ()<UICollectionViewDelegate,UICollectionViewDataSource,PIRoomPhotoAlbumChoosePhotoTypeViewDelegate>
@property(nonatomic,strong) UIButton *pi_dissView;
@property(nonatomic,strong) UIView *bgView;
@property(nonatomic,strong) UICollectionView *collectionView;
@property(nonatomic,strong) NSMutableArray *choosePhotoList;
@property(nonatomic,strong) UIButton *pi_backBtn;
@property(nonatomic,strong) PIRoomPhotoAlbumChoosePhotoTypeView *photoTypeView;
@property(nonatomic,strong) PIRoomPhotoAlbumChoosePhotoGiftView *photoGiftView;
@property(nonatomic,strong) UIButton *sendPhotoView;
@end
@implementation PIRoomPhotoAlbumChoosePhotoView
-(instancetype)initWithFrame:(CGRect)frame{
self = [super initWithFrame:frame];
if(self){
[self installUI];
[self installConstraints];
}
return self;
}
-(void)installUI{
self.backgroundColor = [UIColor clearColor];
[self addSubview:self.pi_dissView];
[self addSubview:self.bgView];
[self.bgView addSubview:self.pi_backBtn];
[self.bgView addSubview:self.collectionView];
[self.bgView addSubview:self.photoTypeView];
[self.bgView addSubview:self.photoGiftView];
[self.bgView addSubview:self.sendPhotoView];
}
-(void)installConstraints{
[self.pi_dissView mas_makeConstraints:^(MASConstraintMaker *make) {
make.edges.equalTo(self);
}];
[self.bgView mas_makeConstraints:^(MASConstraintMaker *make) {
make.leading.trailing.bottom.equalTo(self);
make.height.mas_equalTo(kGetScaleWidth(420));
}];
[self.pi_backBtn mas_makeConstraints:^(MASConstraintMaker *make) {
make.width.height.mas_equalTo(kGetScaleWidth(16));
make.trailing.mas_equalTo(-kGetScaleWidth(16));
make.top.mas_equalTo(kGetScaleWidth(14));
}];
[self.collectionView mas_makeConstraints:^(MASConstraintMaker *make) {
make.leading.trailing.equalTo(self.bgView);
make.top.mas_equalTo(kGetScaleWidth(40));
make.height.mas_equalTo(kGetScaleWidth(102));
}];
[self.photoTypeView mas_makeConstraints:^(MASConstraintMaker *make) {
make.leading.trailing.equalTo(self.bgView).inset(kGetScaleWidth(12));
make.height.mas_equalTo(kGetScaleWidth(48));
make.top.equalTo(self.collectionView.mas_bottom).mas_offset(kGetScaleWidth(32));
}];
[self.photoGiftView mas_makeConstraints:^(MASConstraintMaker *make) {
make.leading.trailing.equalTo(self.bgView).inset(kGetScaleWidth(12));
make.height.mas_equalTo(kGetScaleWidth(48));
make.top.equalTo(self.photoTypeView.mas_bottom).mas_offset(kGetScaleWidth(12));
}];
[self.sendPhotoView mas_makeConstraints:^(MASConstraintMaker *make) {
make.width.mas_equalTo(kGetScaleWidth(303));
make.height.mas_equalTo(kGetScaleWidth(48));
make.top.equalTo(self.photoGiftView.mas_bottom).mas_offset(kGetScaleWidth(48));
make.centerX.equalTo(self.bgView);
}];
}
#pragma mark -UICollectionViewDelegate,UICollectionViewDataSource
-(NSInteger)collectionView:(UICollectionView *)collectionView numberOfItemsInSection:(NSInteger)section{
return self.choosePhotoList.count;
}
-(__kindof UICollectionViewCell *)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath{
PIRoomPhotoAlbumChoosePhotoCell *cell = [collectionView dequeueReusableCellWithReuseIdentifier:NSStringFromClass([PIRoomPhotoAlbumChoosePhotoCell class]) forIndexPath:indexPath];
cell.chooseModel = self.choosePhotoList[indexPath.row];
return cell;
}
#pragma mark - PIRoomPhotoAlbumChoosePhotoTypeViewDelegate
- (void)clickPhotoType:(PIRoomPhotoAlbumChoosePhotoGiftViewType)type{
self.photoGiftView.photoType = type;
}
-(void)dissViewAction{
self.backgroundColor = [UIColor clearColor];
[UIView animateWithDuration:0.5 animations:^{
self.frame = CGRectMake(0, KScreenHeight, KScreenWidth, KScreenHeight);
} completion:^(BOOL finished) {
[self removeFromSuperview];
}];
}
#pragma mark -
- (UICollectionView *)collectionView{
if (!_collectionView) {
UICollectionViewFlowLayout *layout = [[UICollectionViewFlowLayout alloc] init];
_collectionView = [[UICollectionView alloc] initWithFrame:CGRectZero collectionViewLayout:layout];
layout.itemSize = CGSizeMake(kGetScaleWidth(100), kGetScaleWidth(102));
layout.scrollDirection = UICollectionViewScrollDirectionHorizontal;
layout.minimumLineSpacing = kGetScaleWidth(20);
layout.minimumInteritemSpacing = kGetScaleWidth(20);
layout.sectionInset = UIEdgeInsetsMake(0, kGetScaleWidth(20), kGetScaleWidth(0), kGetScaleWidth(20));
_collectionView.dataSource = self;
_collectionView.delegate = self;
_collectionView.showsHorizontalScrollIndicator = NO;
if (@available(iOS 11.0, *)) {
_collectionView.contentInsetAdjustmentBehavior = UIScrollViewContentInsetAdjustmentNever;
}
_collectionView.showsVerticalScrollIndicator = NO;
_collectionView.showsHorizontalScrollIndicator = NO;
_collectionView.backgroundColor = [UIColor clearColor];
[_collectionView registerClass:[PIRoomPhotoAlbumChoosePhotoCell class] forCellWithReuseIdentifier:NSStringFromClass([PIRoomPhotoAlbumChoosePhotoCell class])];
}
return _collectionView;
}
- (UIButton *)pi_dissView{
if(!_pi_dissView){
_pi_dissView = [UIButton new];
[_pi_dissView addTarget:self action:@selector(dissViewAction) forControlEvents:UIControlEventTouchUpInside];
}
return _pi_dissView;
}
- (UIView *)bgView{
if(!_bgView){
_bgView = [UIView new];
_bgView.backgroundColor = [UIColor whiteColor];
[_bgView setCornerWithLeftTopCorner:kGetScaleWidth(16) rightTopCorner:kGetScaleWidth(16) bottomLeftCorner:0 bottomRightCorner:0 size:CGSizeMake(KScreenWidth, kGetScaleWidth(420))];
}
return _bgView;
}
- (UIButton *)pi_backBtn{
if(!_pi_backBtn){
_pi_backBtn = [UIButton new];
[_pi_backBtn setEnlargeEdgeWithTop:10 right:10 bottom:10 left:10];
[_pi_backBtn setImage:kImage(@"pi_room_photo_album_choose_photo_back") forState:UIControlStateNormal];
[_pi_backBtn addTarget:self action:@selector(dissViewAction) forControlEvents:UIControlEventTouchUpInside];
}
return _pi_backBtn;
}
-(NSMutableArray *)choosePhotoList{
if(!_choosePhotoList){
_choosePhotoList = [NSMutableArray array];
PIRoomPhotoAlbumItemChoosePhotoModel *model = [PIRoomPhotoAlbumItemChoosePhotoModel new];
model.isDefault = YES;
[_choosePhotoList addObject:model];
}
return _choosePhotoList;
}
- (PIRoomPhotoAlbumChoosePhotoTypeView *)photoTypeView{
if(!_photoTypeView){
_photoTypeView = [[PIRoomPhotoAlbumChoosePhotoTypeView alloc]initWithFrame:CGRectZero];
_photoTypeView.delegate = self;
}
return _photoTypeView;
}
- (PIRoomPhotoAlbumChoosePhotoGiftView *)photoGiftView{
if(!_photoGiftView){
_photoGiftView = [[PIRoomPhotoAlbumChoosePhotoGiftView alloc]initWithFrame:CGRectZero];
_photoGiftView.photoType = Photo_Type_Normal;
_photoGiftView.chooseGiftType = Photo_Type_No_Choose_Gift;
}
return _photoGiftView;
}
- (UIButton *)sendPhotoView{
if(!_sendPhotoView){
_sendPhotoView = [UIButton new];
[_sendPhotoView setTitle:YMLocalizedString(@"PIRoomPhotoAlbumChoosePhotoView0") forState:UIControlStateNormal];
_sendPhotoView.titleLabel.font = kFontMedium(16);
[_sendPhotoView setTitleColor:[UIColor whiteColor] forState:UIControlStateNormal];
UIImage *image = [UIImage gradientColorImageFromColors:@[[DJDKMIMOMColor confirmButtonGradientStartColor],[DJDKMIMOMColor confirmButtonGradientMiddleColor],[DJDKMIMOMColor confirmButtonGradientEndColor]] gradientType:GradientTypeLeftToRight imgSize:CGSizeMake(kGetScaleWidth(303), kGetScaleWidth(48))];
[_sendPhotoView setBackgroundImage:image forState:UIControlStateNormal];
_sendPhotoView.layer.cornerRadius = kGetScaleWidth(48)/2;
_sendPhotoView.layer.masksToBounds = YES;
}
return _sendPhotoView;
}
@end

View File

@@ -88,6 +88,8 @@
level = YMLocalizedString(@"XPTreasureFairyShopingRecordCell1");
}else if (recordModel.convertLevel == 3) {
level = YMLocalizedString(@"XPTreasureFairyShopingRecordCell2");
}else if (recordModel.convertLevel == 5){
level = YMLocalizedString(@"XPTreasureFairyShopingRecordCell2");
}
self.levelLabel.text = level;
self.prizeLabel.text = [NSString stringWithFormat:@"%@x%@",recordModel.rewardName, recordModel.rewardNum];
@@ -106,11 +108,12 @@
- (void)setIsSummon:(BOOL)isSummon {
_isSummon = isSummon;
if (_isSummon) {
self.levelLabel.hidden = NO;
} else {
self.levelLabel.hidden = YES;
}
// if (_isSummon) {
// self.levelLabel.hidden = NO;
// } else {
// self.levelLabel.hidden = YES;
// }
self.levelLabel.hidden = YES;
}
- (UIStackView *)stackView {

View File

@@ -52,7 +52,8 @@
- (void)initSubViewConstraints {
[self.stackView mas_makeConstraints:^(MASConstraintMaker *make) {
make.edges.equalTo(self.contentView);
make.top.left.bottom.equalTo(self.contentView);
make.right.mas_equalTo(-5);
}];
}
- (NSString *)getDateWithHHMMSS:(NSString *)time {
@@ -153,6 +154,7 @@
_prizeLabel.font = [UIFont systemFontOfSize:12];
_prizeLabel.textColor = [DJDKMIMOMColor colorWithHexString:@"#FEF8A8"];
_prizeLabel.textAlignment = NSTextAlignmentCenter;
_prizeLabel.numberOfLines = 0;
}
return _prizeLabel;
}

View File

@@ -185,6 +185,7 @@
[XNDJTDDLoadingTool showSuccessWithMessage:YMLocalizedString(@"XPTreasureFairyExchangeView4")];
///
[self getMyBallList];
[[NSNotificationCenter defaultCenter]postNotificationName:@"kRefreshRaidersTrialCoupon" object:nil];
} else {
[XNDJTDDLoadingTool showErrorWithMessage:msg];
}

View File

@@ -1111,7 +1111,7 @@
"XPMoreMenuPresenter34" = "开启公屏";
"XPMoreMenuPresenter35" = "房间小喇叭";
"XPMoreMenuPresenter36" = "举报屏蔽";
"XPMoreMenuPresenter37" = "房间相册";
"XPRoomMoreMenuViewController0" = "开启礼物值成功";
"XPRoomMoreMenuViewController1" = "关闭礼物值成功";
@@ -3078,6 +3078,25 @@
"XPMineSimpleUserInfoHeaderView4"="礼物墙";
"XPMineSimpleUserInfoHeaderView5"="幸运礼物";
"XPMineSimpleUserInfoHeaderView6"="动态";
///PIRoomPhotoAlbumVC
"PIRoomPhotoAlbumVC0"="房间相册";
"PIRoomPhotoAlbumVC1"="我的照片";
"PIRoomPhotoAlbumVC2"="普通照片";
"PIRoomPhotoAlbumVC3"="解鎖照片";
///PIRoomPhotoAlbumItemVC
"PIRoomPhotoAlbumItemVC0"="上传照片";
///PIRoomPhotoAlbumChoosePhotoCell
"PIRoomPhotoAlbumChoosePhotoCell0"="每次最多上传9张";
///PIRoomPhotoAlbumChoosePhotoTypeView
"PIRoomPhotoAlbumChoosePhotoTypeView0"="照片类型";
"PIRoomPhotoAlbumChoosePhotoTypeView1"="普通照片";
"PIRoomPhotoAlbumChoosePhotoTypeView2"="解锁照片";
///PIRoomPhotoAlbumChoosePhotoGiftView
"PIRoomPhotoAlbumChoosePhotoGiftView0"="解锁礼物";
"PIRoomPhotoAlbumChoosePhotoGiftView1"="当前无需选择解锁礼物";
"PIRoomPhotoAlbumChoosePhotoGiftView2"="选择解锁礼物";
///PIRoomPhotoAlbumChoosePhotoView
"PIRoomPhotoAlbumChoosePhotoView0"="确认上传";
///不能脚本生成的
"App_Common_And" = "和";
"App_Common_Male" = "男";

View File

@@ -1111,7 +1111,7 @@
"XPMoreMenuPresenter34" = "開啟公屏";
"XPMoreMenuPresenter35" = "房間小喇叭";
"XPMoreMenuPresenter36" = "舉報屏蔽";
"XPMoreMenuPresenter37" = "房間相冊";
"XPRoomMoreMenuViewController0" = "開啟禮物值成功";
"XPRoomMoreMenuViewController1" = "關閉禮物值成功";
@@ -3078,6 +3078,25 @@
"XPMineSimpleUserInfoHeaderView4"="禮物墻";
"XPMineSimpleUserInfoHeaderView5"="幸運禮物";
"XPMineSimpleUserInfoHeaderView6"="動態";
///PIRoomPhotoAlbumVC
"PIRoomPhotoAlbumVC0"="房間相冊";
"PIRoomPhotoAlbumVC1"="我的照片";
"PIRoomPhotoAlbumVC2"="普通照片";
"PIRoomPhotoAlbumVC3"="解鎖照片";
///PIRoomPhotoAlbumItemVC
"PIRoomPhotoAlbumItemVC0"="上傳照片";
///PIRoomPhotoAlbumChoosePhotoCell
"PIRoomPhotoAlbumChoosePhotoCell0"="每次最多上傳9張";
///PIRoomPhotoAlbumChoosePhotoTypeView
"PIRoomPhotoAlbumChoosePhotoTypeView0"="照片類型";
"PIRoomPhotoAlbumChoosePhotoTypeView1"="普通照片";
"PIRoomPhotoAlbumChoosePhotoTypeView2"="解鎖照片";
///PIRoomPhotoAlbumChoosePhotoGiftView
"PIRoomPhotoAlbumChoosePhotoGiftView0"="解鎖禮物";
"PIRoomPhotoAlbumChoosePhotoGiftView1"="當前無需選擇解鎖禮物";
"PIRoomPhotoAlbumChoosePhotoGiftView2"="選擇解鎖禮物";
///PIRoomPhotoAlbumChoosePhotoView
"PIRoomPhotoAlbumChoosePhotoView0"="確認上傳";
///不能腳本生成的
"App_Common_And" = "和";
"App_Common_Male" = "男";