260 lines
12 KiB
Mathematica
260 lines
12 KiB
Mathematica
|
|
//
|
|||
|
|
// ShareInviteCodeAlertView.m
|
|||
|
|
// TreeHole
|
|||
|
|
//
|
|||
|
|
// Created by 郑创权 on 2022/11/13.
|
|||
|
|
//
|
|||
|
|
|
|||
|
|
#import "ShareInviteCodeAlertView.h"
|
|||
|
|
|
|||
|
|
|
|||
|
|
@interface ShareInviteCodeAlertView()
|
|||
|
|
|
|||
|
|
@property (nonatomic, strong)UIView* contentView;
|
|||
|
|
@property (nonatomic, strong)UILabel* zhuanShuCodeLab;
|
|||
|
|
@property (nonatomic, strong)UIImageView* inviteUnlockSmallImgV;
|
|||
|
|
@property (nonatomic, strong)UIImageView* downloadImgV;
|
|||
|
|
|
|||
|
|
@property (nonatomic, strong)UIView* bottomView;//分享和取消
|
|||
|
|
|
|||
|
|
@end
|
|||
|
|
|
|||
|
|
@implementation ShareInviteCodeAlertView
|
|||
|
|
|
|||
|
|
|
|||
|
|
-(instancetype)initWithFrame:(CGRect)frame{
|
|||
|
|
self = [super initWithFrame:frame];
|
|||
|
|
if (self) {
|
|||
|
|
self.backgroundColor = HEX_COLOR_A(0x000000, 0.6);
|
|||
|
|
[self addSubview:self.contentView];
|
|||
|
|
[self addSubview:self.bottomView];
|
|||
|
|
self.contentView.transform = CGAffineTransformMakeScale(0.1, 0.1);
|
|||
|
|
[UIView animateWithDuration:0.4 animations:^{
|
|||
|
|
self.contentView.transform = CGAffineTransformMakeScale(1, 1);
|
|||
|
|
} completion:^(BOOL finished) {
|
|||
|
|
|
|||
|
|
}];
|
|||
|
|
}
|
|||
|
|
return self;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
-(UIView *)contentView{
|
|||
|
|
if (!_contentView) {
|
|||
|
|
User* userModel = [UserService currentUser];
|
|||
|
|
_contentView = [[UIView alloc]initWithFrame:CGRectMake(20,(SCREEN_HEIGHT - FIX_SIZE(458))/2.0 - FIX_SIZE(40), SCREEN_WIDTH - 40, FIX_SIZE(458))];
|
|||
|
|
_contentView.layer.cornerRadius = 6;
|
|||
|
|
_contentView.layer.masksToBounds = YES;
|
|||
|
|
_contentView.backgroundColor = HEX_COLOR(0x292247);
|
|||
|
|
|
|||
|
|
UIImageView* userIconImgV = [[UIImageView alloc]initWithFrame:CGRectMake(FIX_SIZE(14), FIX_SIZE(23), FIX_SIZE(46), FIX_SIZE(46))];
|
|||
|
|
[userIconImgV sd_setImageWithURL:[NSURL URLWithString:userModel.avatar] placeholderImage:[UIImage imageNamed:@"TH_defalut_avatar"]];
|
|||
|
|
userIconImgV.contentMode = UIViewContentModeScaleToFill;
|
|||
|
|
userIconImgV.layer.cornerRadius = userIconImgV.height/2.0;
|
|||
|
|
userIconImgV.layer.masksToBounds = YES;
|
|||
|
|
[_contentView addSubview:userIconImgV];
|
|||
|
|
|
|||
|
|
UILabel* userNameLab = [[UILabel alloc]initWithFrame:CGRectMake(userIconImgV.right + FIX_SIZE(10), FIX_SIZE(20), FIX_SIZE(80), FIX_SIZE(22))];
|
|||
|
|
userNameLab.textAlignment = NSTextAlignmentLeft;
|
|||
|
|
userNameLab.textColor = HEX_COLOR(0xFFFFFF);
|
|||
|
|
userNameLab.font = MT_FONT_MEDIUM_SIZE(16);
|
|||
|
|
userNameLab.text = userModel.nickname;
|
|||
|
|
[userNameLab sizeToFit];
|
|||
|
|
if (userNameLab.width >= FIX_SIZE(80)) {
|
|||
|
|
userNameLab.width = FIX_SIZE(80);
|
|||
|
|
}
|
|||
|
|
[_contentView addSubview:userNameLab];
|
|||
|
|
|
|||
|
|
UILabel* subTitleLab = [[UILabel alloc]initWithFrame:CGRectMake(userIconImgV.right + FIX_SIZE(10), userIconImgV.bottom - FIX_SIZE(22), FIX_SIZE(170), FIX_SIZE(17))];
|
|||
|
|
subTitleLab.textAlignment = NSTextAlignmentLeft;
|
|||
|
|
subTitleLab.textColor = HEX_COLOR(0xFFFFFF);
|
|||
|
|
subTitleLab.font = MT_FONT_MEDIUM_SIZE(12);
|
|||
|
|
subTitleLab.text = @"邀请您加入【喜蒂天使APP】";
|
|||
|
|
[_contentView addSubview:subTitleLab];
|
|||
|
|
|
|||
|
|
|
|||
|
|
UIImageView* userSexImgv = [[UIImageView alloc]initWithFrame:CGRectMake(userNameLab.right + FIX_SIZE(5), userNameLab.y + FIX_SIZE(3), FIX_SIZE(26), FIX_SIZE(16))];
|
|||
|
|
if([userModel.gender_str isEqualToString:@"CD"]){
|
|||
|
|
userSexImgv.image = [UIImage imageNamed:@"TH_cd_tag"];
|
|||
|
|
}else if([userModel.gender_str isEqualToString:@"TS"]){
|
|||
|
|
userSexImgv.image = [UIImage imageNamed:@"TH_ts_tag"];
|
|||
|
|
}else{
|
|||
|
|
userSexImgv.image = [UIImage imageNamed:@"TH_zn_tag"];
|
|||
|
|
}
|
|||
|
|
userSexImgv.contentMode = UIViewContentModeScaleToFill;
|
|||
|
|
[_contentView addSubview:userSexImgv];
|
|||
|
|
|
|||
|
|
if (userModel.isVIP) {
|
|||
|
|
userNameLab.textColor = COLOR_WITH_RGB(0xF8D07D);
|
|||
|
|
UIImageView* vipImgV = [[UIImageView alloc]initWithFrame:CGRectMake(userSexImgv.right + FIX_SIZE(5), userSexImgv.y, FIX_SIZE(16), FIX_SIZE(16))];
|
|||
|
|
vipImgV.image = [UIImage imageNamed:@"vip_tag"];
|
|||
|
|
vipImgV.contentMode = UIViewContentModeScaleToFill;
|
|||
|
|
[_contentView addSubview:vipImgV];
|
|||
|
|
}else{
|
|||
|
|
userNameLab.textColor = COLOR_WITH_RGB_A(0xFFFFFF, 0.9);
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
UIImageView* appLogoImgV = [[UIImageView alloc]initWithFrame:CGRectMake(_contentView.width - FIX_SIZE(14) - FIX_SIZE(65), FIX_SIZE(14), FIX_SIZE(65), FIX_SIZE(65))];
|
|||
|
|
appLogoImgV.image = [UIImage imageNamed:@"appLogo1024"];
|
|||
|
|
appLogoImgV.contentMode = UIViewContentModeScaleToFill;
|
|||
|
|
[_contentView addSubview:appLogoImgV];
|
|||
|
|
|
|||
|
|
UIImageView* inviteUnlockSmallImgV = [[UIImageView alloc]initWithFrame:CGRectMake(FIX_SIZE(14), userIconImgV.bottom + FIX_SIZE(26), _contentView.width - FIX_SIZE(28), (_contentView.width - FIX_SIZE(28))*0.726 )];
|
|||
|
|
inviteUnlockSmallImgV.image = [UIImage imageNamed:@"TH_invite_unlockSmallContent"];
|
|||
|
|
inviteUnlockSmallImgV.contentMode = UIViewContentModeScaleToFill;
|
|||
|
|
[_contentView addSubview:inviteUnlockSmallImgV];
|
|||
|
|
_inviteUnlockSmallImgV = inviteUnlockSmallImgV;
|
|||
|
|
|
|||
|
|
UILabel* zhuanShuLab = [[UILabel alloc]initWithFrame:CGRectMake(userIconImgV.left, inviteUnlockSmallImgV.bottom + FIX_SIZE(24), FIX_SIZE(90), FIX_SIZE(22))];
|
|||
|
|
zhuanShuLab.textAlignment = NSTextAlignmentLeft;
|
|||
|
|
zhuanShuLab.textColor = HEX_COLOR(0xFFFFFF);
|
|||
|
|
zhuanShuLab.font = MT_FONT_MEDIUM_SIZE(16);
|
|||
|
|
zhuanShuLab.text = @"专属邀请码";
|
|||
|
|
[_contentView addSubview:zhuanShuLab];
|
|||
|
|
|
|||
|
|
UILabel* zhuanShuCodeLab = [[UILabel alloc]initWithFrame:CGRectMake(zhuanShuLab.right + FIX_SIZE(5), zhuanShuLab.centerY - FIX_SIZE(13), FIX_SIZE(51), FIX_SIZE(26))];
|
|||
|
|
zhuanShuCodeLab.textAlignment = NSTextAlignmentCenter;
|
|||
|
|
zhuanShuCodeLab.backgroundColor = HEX_COLOR(0xEFAD01);
|
|||
|
|
zhuanShuCodeLab.textColor = HEX_COLOR(0x000000);
|
|||
|
|
zhuanShuCodeLab.font = MT_FONT_MEDIUM_SIZE(12);
|
|||
|
|
zhuanShuCodeLab.text = @"----";
|
|||
|
|
zhuanShuCodeLab.layer.cornerRadius = zhuanShuCodeLab.height / 2.0;
|
|||
|
|
zhuanShuCodeLab.layer.maskedCorners = YES;
|
|||
|
|
[_contentView addSubview:zhuanShuCodeLab];
|
|||
|
|
_zhuanShuCodeLab = zhuanShuCodeLab;
|
|||
|
|
|
|||
|
|
UILabel* downloadLab = [[UILabel alloc]initWithFrame:CGRectMake(userIconImgV.left, zhuanShuLab.bottom + FIX_SIZE(21), FIX_SIZE(192), FIX_SIZE(55))];
|
|||
|
|
downloadLab.textAlignment = NSTextAlignmentLeft;
|
|||
|
|
downloadLab.textColor = HEX_COLOR(0xFFFFFF);
|
|||
|
|
downloadLab.font = MT_FONT_MEDIUM_SIZE(12);
|
|||
|
|
downloadLab.numberOfLines = 0;
|
|||
|
|
downloadLab.text = @"现在扫码下载APP,与圈内同友一起分享和交换照片、声音、秘密,诸多惊喜和刺激等您来体验";
|
|||
|
|
[_contentView addSubview:downloadLab];
|
|||
|
|
|
|||
|
|
|
|||
|
|
UIImageView* downloadImgV = [[UIImageView alloc]initWithFrame:CGRectMake(_contentView.width - FIX_SIZE(14) - FIX_SIZE(96), inviteUnlockSmallImgV.bottom + FIX_SIZE(20), FIX_SIZE(96), FIX_SIZE(96))];
|
|||
|
|
// downloadImgV.image = [UIImage imageNamed:@"TH_invite_unlockSmallContent"];
|
|||
|
|
downloadImgV.backgroundColor = [UIColor whiteColor];
|
|||
|
|
downloadImgV.contentMode = UIViewContentModeScaleToFill;
|
|||
|
|
[_contentView addSubview:downloadImgV];
|
|||
|
|
_downloadImgV = downloadImgV;
|
|||
|
|
|
|||
|
|
}
|
|||
|
|
return _contentView;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
-(UIView *)bottomView{
|
|||
|
|
if (!_bottomView) {
|
|||
|
|
_bottomView = [[UIView alloc]initWithFrame:CGRectMake(0, SCREEN_HEIGHT - FIX_SIZE(84+44), SCREEN_WIDTH, FIX_SIZE(84+44))];
|
|||
|
|
if (isIphoneX) {
|
|||
|
|
_bottomView.y =SCREEN_HEIGHT - FIX_SIZE(84+44+12);
|
|||
|
|
_bottomView.height = FIX_SIZE(84+44+12);
|
|||
|
|
}
|
|||
|
|
_bottomView.backgroundColor = HEX_COLOR(0x292247);
|
|||
|
|
|
|||
|
|
NSArray* shareTypeArray = @[@{@"img":@"TH_share_wx",@"title":@"微信"},
|
|||
|
|
@{@"img":@"TH_share_pyq",@"title":@"朋友圈"},
|
|||
|
|
@{@"img":@"TH_share_qq",@"title":@"QQ"},
|
|||
|
|
@{@"img":@"TH_share_wb",@"title":@"微博"},
|
|||
|
|
@{@"img":@"TH_share_hb",@"title":@"生成海报"}];
|
|||
|
|
UIView* shareView = [[UIView alloc]initWithFrame:CGRectMake(0, 0, _bottomView.width, FIX_SIZE(84))];
|
|||
|
|
[_bottomView addSubview:shareView];
|
|||
|
|
float shareBtnW = (shareView.width - FIX_SIZE(28))/5.0;
|
|||
|
|
for (NSInteger i = 0; i < shareTypeArray.count; i++) {
|
|||
|
|
UIButton* shareBtn = [[UIButton alloc]initWithFrame:CGRectMake(FIX_SIZE(14) + shareBtnW*i, 0, shareBtnW, shareView.height)];
|
|||
|
|
[shareBtn setTitle:shareTypeArray[i][@"title"] forState:UIControlStateNormal];
|
|||
|
|
[shareBtn setTitleColor:HEX_COLOR_A(0xFFFFFF, 0) forState:UIControlStateNormal];
|
|||
|
|
[shareBtn addTarget:self action:@selector(shareBtnClick:) forControlEvents:UIControlEventTouchUpInside];
|
|||
|
|
[shareView addSubview:shareBtn];
|
|||
|
|
|
|||
|
|
UIImageView* btnImgV = [[UIImageView alloc]initWithFrame:CGRectMake((shareBtn.width - FIX_SIZE(40))/2.0, FIX_SIZE(25), FIX_SIZE(40), FIX_SIZE(40))];
|
|||
|
|
btnImgV.image = [UIImage imageNamed:shareTypeArray[i][@"img"]];
|
|||
|
|
[shareBtn addSubview:btnImgV];
|
|||
|
|
|
|||
|
|
UILabel* btnNameLab = [[UILabel alloc]initWithFrame:CGRectMake(shareBtn.left, btnImgV.bottom + FIX_SIZE(10), shareBtn.width , FIX_SIZE(14))];
|
|||
|
|
btnNameLab.textAlignment = NSTextAlignmentCenter;
|
|||
|
|
btnNameLab.textColor = HEX_COLOR(0xFFFFFF);
|
|||
|
|
btnNameLab.font = MT_FONT_MEDIUM_SIZE(10);
|
|||
|
|
btnNameLab.text = shareTypeArray[i][@"title"];
|
|||
|
|
[shareView addSubview:btnNameLab];
|
|||
|
|
}
|
|||
|
|
UIButton* cancelBtn = [[UIButton alloc]initWithFrame:CGRectMake(0, shareView.bottom, _bottomView.width, FIX_SIZE(44))];
|
|||
|
|
[cancelBtn setTitle:@"取消" forState:UIControlStateNormal];
|
|||
|
|
[cancelBtn setTitleColor:HEX_COLOR(0xFFFFFF) forState:UIControlStateNormal];
|
|||
|
|
cancelBtn.titleLabel.font = MT_FONT_MEDIUM_SIZE(12);
|
|||
|
|
[cancelBtn addTarget:self action:@selector(cancelBtnClick:) forControlEvents:UIControlEventTouchUpInside];
|
|||
|
|
[_bottomView addSubview:cancelBtn];
|
|||
|
|
}
|
|||
|
|
return _bottomView;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
-(void)setDataDict:(NSDictionary *)dataDict{
|
|||
|
|
_dataDict = dataDict;
|
|||
|
|
NSDictionary* invite_vip_imgDict = _dataDict[@"invite_vip_img"];
|
|||
|
|
[_inviteUnlockSmallImgV sd_setImageWithURL:[NSURL URLWithString:invite_vip_imgDict[@"invite_vip_pop_image"]] placeholderImage:[UIImage imageNamed:@"TH_invite_unlockSmallContent"]];
|
|||
|
|
[_downloadImgV sd_setImageWithURL:[NSURL URLWithString:invite_vip_imgDict[@"app_url_qrcode"]] placeholderImage:[UIImage new]];
|
|||
|
|
|
|||
|
|
_zhuanShuCodeLab.text = _dataDict[@"invite_code"];
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
-(void)shareBtnClick:(UIButton*)sender{
|
|||
|
|
NSLog(@"分享.");
|
|||
|
|
if ([sender.titleLabel.text isEqualToString:@"生成海报"]) {
|
|||
|
|
[self savePhoto];
|
|||
|
|
return;
|
|||
|
|
}
|
|||
|
|
NSDictionary* invite_vip_imgDict = _dataDict[@"invite_vip_img"];
|
|||
|
|
UIPasteboard *pasteboard = [UIPasteboard generalPasteboard];
|
|||
|
|
NSString* download_urlStr = invite_vip_imgDict[@"download_url"];
|
|||
|
|
pasteboard.string = download_urlStr;
|
|||
|
|
[SVProgressHUD showSuccessWithStatus:@"已成功复制分享链接,前往对应平台粘贴发送即可~"];
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
-(void)cancelBtnClick:(UIButton*)sender{
|
|||
|
|
[self removeFromSuperview];
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
// 保存图片到相册功能,ALAssetsLibraryiOS9.0 以后用photoliabary 替代,
|
|||
|
|
|
|||
|
|
-(void)savePhoto{
|
|||
|
|
// 1.获取一个截图图片
|
|||
|
|
// UIImage *newImage = [self rendImageWithView:[ZcqVender theTopviewControler].view];
|
|||
|
|
UIImage *newImage = [self rendImageWithView:self.contentView];
|
|||
|
|
// 2.写入相册
|
|||
|
|
UIImageWriteToSavedPhotosAlbum(newImage, self, @selector(image:didFinishSavingWithError:contextInfo:), @"134");
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
//截图功能
|
|||
|
|
|
|||
|
|
- (UIImage *)rendImageWithView:(UIView *)view{
|
|||
|
|
|
|||
|
|
// 1.开始位图上下文
|
|||
|
|
UIGraphicsBeginImageContext(view.frame.size);
|
|||
|
|
// 2.获取上下文
|
|||
|
|
CGContextRef ctx = UIGraphicsGetCurrentContext();
|
|||
|
|
|
|||
|
|
// 3.截图
|
|||
|
|
[view.layer renderInContext:ctx];
|
|||
|
|
// 4.获取图片
|
|||
|
|
UIImage *newImage = UIGraphicsGetImageFromCurrentImageContext();
|
|||
|
|
|
|||
|
|
// 5.关闭上下文
|
|||
|
|
UIGraphicsEndImageContext() ;
|
|||
|
|
|
|||
|
|
return newImage;
|
|||
|
|
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
|
|||
|
|
#pragma mark 用来监听图片保存到相册的状况
|
|||
|
|
|
|||
|
|
- (void)image:(UIImage *)image didFinishSavingWithError:(NSError *)error contextInfo:(void *)contextInfo{
|
|||
|
|
if (error) {
|
|||
|
|
[SVProgressHUD showErrorWithStatus:@"保存失败"];
|
|||
|
|
}else{
|
|||
|
|
[SVProgressHUD showSuccessWithStatus:@"保存成功"];
|
|||
|
|
|
|||
|
|
}
|
|||
|
|
NSLog(@"%@",contextInfo);
|
|||
|
|
}
|
|||
|
|
@end
|