日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

html动态散花代码,IOS实现签到特效(散花效果)的实例代码

發(fā)布時(shí)間:2023/12/10 编程问答 45 豆豆
生活随笔 收集整理的這篇文章主要介紹了 html动态散花代码,IOS实现签到特效(散花效果)的实例代码 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

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

散花特效

#import

/// 領(lǐng)取獎(jiǎng)勵(lì)成功

@interface RewardSuccess : NSObject

/**

* 成功動(dòng)畫

*/

+ (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;

// 每秒產(chǎn)生的數(shù)量

// 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

領(lǐng)取獎(jiǎng)勵(lì)成功提示框

#import

/// 領(lǐng)取獎(jiǎng)勵(lì)成功提示框

@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 = @"恭喜您,領(lǐng)取成功!";

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 = @"獲得經(jīng)驗(yàn):+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 = @"可以在我的->我的獎(jiǎng)勵(lì)中查看獲得獎(jiǎng)勵(lì)";

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

總結(jié)

以上是生活随笔為你收集整理的html动态散花代码,IOS实现签到特效(散花效果)的实例代码的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。