亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 系統 > iOS > 正文

IOS實現簽到特效(散花效果)的實例代碼

2020-07-26 02:27:37
字體:
來源:轉載
供稿:網友

本文講述了IOS實現簽到特效(散花效果)實例代碼。分享給大家供大家參考,具體如下:

散花特效

#import <Foundation/Foundation.h>/// 領取獎勵成功@interface RewardSuccess : NSObject/** * 成功動畫 */+ (void)show;@end
#import "RewardSuccess.h"#import "RewardSuccessWindow.h"#define EmitterColor_Red [UIColor colorWithRed:255/255.0 green:0 blue:139/255.0 alpha:1]#define EmitterColor_Yellow [UIColor colorWithRed:251/255.0 green:197/255.0 blue:13/255.0 alpha:1]#define EmitterColor_Blue [UIColor colorWithRed:50/255.0 green:170/255.0 blue:207/255.0 alpha:1]@implementation RewardSuccess+ (void)show{ UIWindow *window = [UIApplication sharedApplication].keyWindow; UIView *backgroundView = [[UIView alloc] initWithFrame:window.bounds]; backgroundView.backgroundColor = [UIColor colorWithRed:0 green:0 blue:0 alpha:0.8]; [window addSubview:backgroundView]; RewardSuccessWindow *successWindow = [[RewardSuccessWindow alloc] initWithFrame:CGRectZero]; [backgroundView addSubview:successWindow]; //縮放 successWindow.transform=CGAffineTransformMakeScale(0.01f, 0.01f); successWindow.alpha = 0; [UIView animateWithDuration:0.4 animations:^{ successWindow.transform = CGAffineTransformMakeScale(1.0f, 1.0f); successWindow.alpha = 1; }]; //3s 消失 double delayInSeconds = 3; dispatch_time_t delayInNanoSeconds = dispatch_time(DISPATCH_TIME_NOW, delayInSeconds * NSEC_PER_SEC); dispatch_after(delayInNanoSeconds, dispatch_get_main_queue(), ^(void){ [UIView animateWithDuration:0.4 animations:^{  successWindow.transform = CGAffineTransformMakeScale(.3f, .3f);  successWindow.alpha = 0; }completion:^(BOOL finished) {  [backgroundView removeFromSuperview]; }]; }); //開始粒子效果 CAEmitterLayer *emitterLayer = addEmitterLayer(backgroundView,successWindow); startAnimate(emitterLayer);}CAEmitterLayer *addEmitterLayer(UIView *view,UIView *window){ //色塊粒子 CAEmitterCell *subCell1 = subCell(imageWithColor(EmitterColor_Red)); subCell1.name = @"red"; CAEmitterCell *subCell2 = subCell(imageWithColor(EmitterColor_Yellow)); subCell2.name = @"yellow"; CAEmitterCell *subCell3 = subCell(imageWithColor(EmitterColor_Blue)); subCell3.name = @"blue"; CAEmitterCell *subCell4 = subCell([UIImage imageNamed:@"success_star"]); subCell4.name = @"star"; CAEmitterLayer *emitterLayer = [CAEmitterLayer layer]; emitterLayer.emitterPosition = window.center; emitterLayer.emitterPosition = window.center; emitterLayer.emitterSize = window.bounds.size; emitterLayer.emitterMode = kCAEmitterLayerOutline; emitterLayer.emitterShape = kCAEmitterLayerRectangle; emitterLayer.renderMode = kCAEmitterLayerOldestFirst; emitterLayer.emitterCells = @[subCell1,subCell2,subCell3,subCell4]; [view.layer addSublayer:emitterLayer]; return emitterLayer;}void startAnimate(CAEmitterLayer *emitterLayer){ CABasicAnimation *redBurst = [CABasicAnimation animationWithKeyPath:@"emitterCells.red.birthRate"]; redBurst.fromValue = [NSNumber numberWithFloat:30]; redBurst.toValue  = [NSNumber numberWithFloat: 0.0]; redBurst.duration = 0.5; redBurst.timingFunction = [CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionLinear]; CABasicAnimation *yellowBurst = [CABasicAnimation animationWithKeyPath:@"emitterCells.yellow.birthRate"]; yellowBurst.fromValue = [NSNumber numberWithFloat:30]; yellowBurst.toValue  = [NSNumber numberWithFloat: 0.0]; yellowBurst.duration = 0.5; yellowBurst.timingFunction = [CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionLinear]; CABasicAnimation *blueBurst = [CABasicAnimation animationWithKeyPath:@"emitterCells.blue.birthRate"]; blueBurst.fromValue = [NSNumber numberWithFloat:30]; blueBurst.toValue  = [NSNumber numberWithFloat: 0.0]; blueBurst.duration = 0.5; blueBurst.timingFunction = [CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionLinear]; CABasicAnimation *starBurst = [CABasicAnimation animationWithKeyPath:@"emitterCells.star.birthRate"]; starBurst.fromValue = [NSNumber numberWithFloat:30]; starBurst.toValue  = [NSNumber numberWithFloat: 0.0]; starBurst.duration = 0.5; starBurst.timingFunction = [CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionLinear]; CAAnimationGroup *group = [CAAnimationGroup animation]; group.animations = @[redBurst,yellowBurst,blueBurst,starBurst]; [emitterLayer addAnimation:group forKey:@"heartsBurst"];}CAEmitterCell *subCell(UIImage *image){ CAEmitterCell * cell = [CAEmitterCell emitterCell]; cell.name = @"heart"; cell.contents = (__bridge id _Nullable)image.CGImage; // 縮放比例 cell.scale = 0.6; cell.scaleRange = 0.6; // 每秒產生的數量 // cell.birthRate = 40; cell.lifetime = 20; // 每秒變透明的速度 // snowCell.alphaSpeed = -0.7; // snowCell.redSpeed = 0.1; // 秒速 cell.velocity = 200; cell.velocityRange = 200; cell.yAcceleration = 9.8; cell.xAcceleration = 0; //掉落的角度范圍 cell.emissionRange = M_PI; cell.scaleSpeed = -0.05; //// cell.alphaSpeed = -0.3; cell.spin  = 2 * M_PI; cell.spinRange = 2 * M_PI; return cell;}UIImage *imageWithColor(UIColor *color){ CGRect rect = CGRectMake(0, 0, 13, 17); UIGraphicsBeginImageContext(rect.size); CGContextRef context = UIGraphicsGetCurrentContext(); CGContextSetFillColorWithColor(context, [color CGColor]); CGContextFillRect(context, rect); UIImage *image = UIGraphicsGetImageFromCurrentImageContext(); UIGraphicsEndImageContext(); return image;}@end

領取獎勵成功提示框

#import <UIKit/UIKit.h>/// 領取獎勵成功提示框@interface RewardSuccessWindow : UIView@end
#import "RewardSuccessWindow.h"static CGFloat SuccessWindow_width = 270;static CGFloat SuccessWindow_hight = 170;@implementation RewardSuccessWindow (instancetype)initWithFrame:(CGRect)frame{ CGSize screenSize = [UIScreen mainScreen].bounds.size; self = [super initWithFrame:CGRectMake((screenSize.width - SuccessWindow_width)/2.0 , (screenSize.height - SuccessWindow_hight)/2.0, SuccessWindow_width, SuccessWindow_hight)]; if (self) { [self configSubViews]; } return self;}- (void)configSubViews{ self.backgroundColor = [UIColor whiteColor]; self.layer.cornerRadius = 10; self.layer.masksToBounds = YES; UILabel *titleLabel = [[UILabel alloc] initWithFrame:CGRectMake(0, 45, SuccessWindow_width, 22)]; titleLabel.text = @"恭喜您,領取成功!"; titleLabel.font = [UIFont systemFontOfSize:19.0]; titleLabel.textAlignment = NSTextAlignmentCenter; [self addSubview:titleLabel]; UILabel *expLabel = [[UILabel alloc] initWithFrame:CGRectMake(0, 75, SuccessWindow_width, 43)]; expLabel.font = [UIFont systemFontOfSize:15]; expLabel.textAlignment = NSTextAlignmentCenter; [self addSubview:expLabel]; NSString *string = @"獲得經驗:+6"; NSMutableAttributedString *attributedString = [[NSMutableAttributedString alloc] initWithString:string]; [attributedString addAttribute:NSFontAttributeName value:[UIFont systemFontOfSize:15] range:NSMakeRange(0, string.length)]; [attributedString addAttribute:NSFontAttributeName value:[UIFont fontWithName:@"MarkerFelt-Thin" size:35] range:NSMakeRange(5,2)]; NSShadow *shadow =[[NSShadow alloc] init]; shadow.shadowOffset = CGSizeMake(1, 3); [attributedString addAttribute:NSShadowAttributeName value:shadow range:NSMakeRange(5,2)]; [attributedString addAttribute:NSForegroundColorAttributeName value:[UIColor yellowColor] range:NSMakeRange(5,2)]; expLabel.attributedText = attributedString; UILabel *bottomLabel = [[UILabel alloc] initWithFrame:CGRectMake(0, 135, SuccessWindow_width, 22)]; bottomLabel.text = @"可以在我的->我的獎勵中查看獲得獎勵"; bottomLabel.font = [UIFont systemFontOfSize:13.0]; bottomLabel.textAlignment = NSTextAlignmentCenter; bottomLabel.textColor = [UIColor colorWithRed:177/255.0 green:177/255.0 blue:177/255.0 alpha:1]; [self addSubview:bottomLabel];}@end
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
国产精品中文久久久久久久| 国产精品久久久久久久久久ktv| 91av在线视频观看| 久久久999精品免费| 欧美乱妇40p| 亚洲电影第1页| 国产精品精品久久久久久| 欧美第一页在线| 亚洲欧美激情四射在线日| 日韩av电影国产| 日产精品99久久久久久| 色综合老司机第九色激情| 久久久久久久久久久网站| 97精品欧美一区二区三区| 成人免费淫片视频软件| 国产精品亚洲激情| 97人洗澡人人免费公开视频碰碰碰| 欧美成人精品三级在线观看| 91影视免费在线观看| 91免费视频网站| 中文字幕在线亚洲| 欧美综合一区第一页| 91在线观看免费| 国产成人精品国内自产拍免费看| 欧美视频一二三| 亚洲国产又黄又爽女人高潮的| 亚洲精品自拍第一页| 原创国产精品91| 欧美电影在线免费观看网站| 久久韩剧网电视剧| 成人激情黄色网| 久久精品国产96久久久香蕉| 精品成人久久av| 国产精品免费一区| 亚洲欧洲美洲在线综合| 欧美激情第三页| 国产精品色视频| 欧美午夜精品在线| 亚洲欧美国产一本综合首页| 色爱精品视频一区| 亚洲精品大尺度| 欧美午夜激情小视频| 精品国内产的精品视频在线观看| 欧美国产日产韩国视频| 亚洲精品国产精品国自产观看浪潮| 奇门遁甲1982国语版免费观看高清| 亚洲精品videossex少妇| 日韩电影第一页| 亚洲精品国产成人| 成人www视频在线观看| 国产经典一区二区| 亚洲自拍欧美另类| 精品国产精品三级精品av网址| 国产日韩在线一区| 在线观看欧美www| 国产亚洲欧洲在线| 日韩高清a**址| 亚洲国产精彩中文乱码av| 欧美一级大胆视频| 中文字幕视频在线免费欧美日韩综合在线看| 性欧美xxxx视频在线观看| 国产精品久久久999| 久久久久久亚洲| 欧美亚洲另类视频| 九九精品视频在线| 成人h视频在线观看播放| 久久伊人免费视频| 亚洲人成自拍网站| 欧美午夜宅男影院在线观看| 伊人精品在线观看| 国产精品白嫩初高中害羞小美女| 欧美中文字幕在线播放| 亚洲福利在线看| 成人免费网站在线| 国产一区二区激情| 国产精品专区第二| 91免费看片网站| 国产一区二区在线播放| 日韩女优人人人人射在线视频| 2019中文字幕免费视频| 欧美最近摘花xxxx摘花| 日韩中文在线中文网三级| 欧美日韩中文在线| 国产精品第2页| 精品毛片网大全| 亚洲无亚洲人成网站77777| 91香蕉亚洲精品| 亚洲国产精品小视频| 欧洲永久精品大片ww免费漫画| 永久555www成人免费| 日本精品性网站在线观看| 欧美日韩国产在线看| 91夜夜未满十八勿入爽爽影院| 国产精品偷伦一区二区| 日本高清+成人网在线观看| 91免费视频网站| 国产精品免费一区| 怡红院精品视频| 一区二区三欧美| 欧美激情精品久久久久久大尺度| 欧亚精品在线观看| 亚洲已满18点击进入在线看片| 亚洲视频电影图片偷拍一区| 国产精品h在线观看| 久久久女人电视剧免费播放下载| 欧美视频在线看| 亚洲第一福利网| 国产一区二区免费| 18性欧美xxxⅹ性满足| 不卡av电影院| 亚洲欧美国产精品久久久久久久| 色777狠狠综合秋免鲁丝| 91干在线观看| 91日韩在线播放| 久久视频在线看| 国产精品自产拍在线观看| 黄色精品在线看| 国产精品99蜜臀久久不卡二区| 国产精品视频免费在线观看| 国产精品永久免费| 亚洲午夜精品久久久久久久久久久久| 欧美午夜精品久久久久久久| 日韩欧美精品免费在线| 欧美大片va欧美在线播放| 亚洲91精品在线观看| 欧美一区二区大胆人体摄影专业网站| 亚洲精品电影久久久| 日韩成人高清在线| 久久好看免费视频| 欧美成人h版在线观看| 国产精品爱啪在线线免费观看| 国产美女精彩久久| 国产自摸综合网| 中日韩美女免费视频网站在线观看| 免费av一区二区| 国产丝袜一区二区三区| 精品视频在线播放| 成人黄色影片在线| 欧美一级高清免费播放| 91精品久久久久久久久久另类| 91亚洲精品一区二区| 精品一区精品二区| 欧美成人亚洲成人| 亚洲国产成人91精品| 国产经典一区二区| 亚洲最大福利视频网| 2018中文字幕一区二区三区| 日韩欧美成人免费视频| 国产亚洲精品美女久久久| 国内精品久久久久| 久久99国产精品自在自在app| 久久黄色av网站| 91av在线免费观看| 日韩综合视频在线观看| 91精品在线观| 国内精品久久久久影院 日本资源| 一本大道香蕉久在线播放29| 亚洲精品久久久久久久久久久久| 久久在线免费视频| 91精品国产高清自在线| www国产精品com| 538国产精品一区二区在线| 亚洲欧洲在线播放| 日韩成人av一区|