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

首頁 > 系統 > iOS > 正文

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

2019-10-21 18:41:08
字體:
來源:轉載
供稿:網友

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

ios,簽到,特效,簽到特效,散花特效

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


注:相關教程知識閱讀請移步到IOS開發頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
国产精品成人品| 欧美日韩国产综合视频在线观看中文| 91精品国产成人| 精品视频在线播放| 日韩精品在线影院| 欧美日韩一区二区免费在线观看| 欧美性猛交99久久久久99按摩| 美女啪啪无遮挡免费久久网站| 国产中文字幕日韩| 亚洲欧美中文字幕| 欧美电影免费观看高清完整| 国产精品劲爆视频| 亚洲自拍在线观看| 国产一区私人高清影院| 国产视频亚洲视频| 国产精品偷伦视频免费观看国产| 国产欧美日韩精品在线观看| 欧美性猛交xxxx| 欧美色欧美亚洲高清在线视频| 国产亚洲在线播放| 欧美日韩国产精品| 韩日精品中文字幕| 欧美日韩999| 国产精品免费电影| 久热国产精品视频| 欧洲美女7788成人免费视频| 久久精品色欧美aⅴ一区二区| 欧美亚洲视频在线看网址| 亚洲a在线播放| 日本中文字幕不卡免费| 国产精品自拍偷拍视频| 欧美体内谢she精2性欧美| 国模私拍一区二区三区| 91九色综合久久| 国产欧美精品一区二区三区介绍| 国产亚洲欧美另类中文| 亚洲va久久久噜噜噜久久天堂| 最新91在线视频| 亚洲а∨天堂久久精品9966| 98视频在线噜噜噜国产| 国产精品海角社区在线观看| 欧美日韩在线视频一区二区| 国产视频久久久久| 日韩三级影视基地| 一个人看的www久久| 91精品国产网站| 国产精品一区二区三区成人| 色小说视频一区| 97久久精品人搡人人玩| 欧美日韩福利在线观看| 亚洲人成自拍网站| 欧美日韩国产123| 97色在线播放视频| 国产精品久久久久福利| 亚洲欧美综合图区| 夜夜嗨av色综合久久久综合网| 宅男66日本亚洲欧美视频| 日韩精品视频在线观看网址| 国产成人在线精品| 亚洲最大福利视频| 久久久在线观看| 2019中文字幕在线观看| 91精品视频免费| 国产精品久久久久久久久粉嫩av| 91精品国产高清久久久久久91| 国产日韩精品综合网站| 亚洲日本成人网| 中文字幕精品av| 国产一区二区三区久久精品| 亚洲欧洲日产国产网站| 91午夜在线播放| 在线国产精品播放| 91av视频在线免费观看| 亚洲精品永久免费精品| 55夜色66夜色国产精品视频| 55夜色66夜色国产精品视频| 日韩欧美中文字幕在线观看| 欧美日韩激情小视频| 亚洲人成伊人成综合网久久久| 91在线色戒在线| 综合激情国产一区| 亚洲激情自拍图| 亚洲精品视频在线播放| 九九久久久久久久久激情| 亚洲精品国精品久久99热一| 久久久久久有精品国产| 国产97在线亚洲| 国产成人精品免高潮费视频| 久久综合久久美利坚合众国| 最近2019年日本中文免费字幕| 国产99久久久欧美黑人| 一区二区三区国产视频| 国产一区二区三区视频在线观看| 97视频在线观看播放| 久久精视频免费在线久久完整在线看| 国产亚洲精品久久久久动| 国产精品海角社区在线观看| 亚洲欧洲在线播放| 热99精品里视频精品| 日韩成人在线播放| 亚洲欧美一区二区激情| 亚洲精品一区二区网址| 91av免费观看91av精品在线| 91精品国产自产在线观看永久| 国产精品欧美一区二区三区奶水| 国产精品观看在线亚洲人成网| 欧美精品免费播放| 欧美性极品少妇精品网站| 久久99久国产精品黄毛片入口| 日韩av免费在线播放| 韩国欧美亚洲国产| 欧美小视频在线| 91在线观看免费观看| 亚洲美女久久久| 欧美中文字幕视频在线观看| 国产精品香蕉av| 亚洲最大福利视频网站| 久久99精品视频一区97| 亚洲已满18点击进入在线看片| 色综合老司机第九色激情| 欧美区在线播放| 91精品国产综合久久香蕉的用户体验| 欧美壮男野外gaytube| 97视频免费在线观看| 一个色综合导航| 欧美裸体男粗大视频在线观看| 91在线观看免费| 91精品国产91久久久久| 免费97视频在线精品国自产拍| 中文字幕视频在线免费欧美日韩综合在线看| 一个人看的www欧美| 亚洲国产精品久久久久秋霞不卡| 欧美精品第一页在线播放| 欧美国产精品va在线观看| 亚洲美女视频网| 久久久免费电影| 中文字幕一区日韩电影| 久久久精品电影| 亚洲www在线观看| 精品亚洲国产视频| 欧美xxxx做受欧美.88| 欧美性猛交xxxx乱大交蜜桃| 91精品国产91久久久久久最新| 国产精品久久久久久久久久免费| 一区二区三区视频在线| 国产欧美在线看| 亚洲肉体裸体xxxx137| 久久精品国产久精国产一老狼| 久久免费观看视频| 日韩美女视频中文字幕| 91人人爽人人爽人人精88v| 98精品国产高清在线xxxx天堂| 中文字幕一精品亚洲无线一区| 欧美视频在线观看免费网址| 久久亚洲综合国产精品99麻豆精品福利| 亚洲国产精品久久| 久久中文字幕视频| 欧美一级电影在线| 国产精品视频男人的天堂| 在线亚洲国产精品网| 久久精品一区中文字幕| 日本精品视频在线播放| 日韩毛片在线看| 在线亚洲男人天堂|