Skip to content

Commit 6b4e350

Browse files
committed
v3.5.8-增加几种显示完成动画...
1 parent a9593c6 commit 6b4e350

File tree

9 files changed

+103
-65
lines changed

9 files changed

+103
-65
lines changed

README.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@
2828

2929
### 更新记录:
3030

31+
* 2017.09.13 -- v3.5.8 -->增加几种显示完成的动画...
3132
* 2017.08.20 -- v3.5.6 -->已知问题修复及内存优化...
3233
* 2017.05.26 -- v3.5.4 -->修复横屏启动造成的界面问题...
3334
* 2017.05.02 -- v3.5.0 -->Gif动图占用内存优化...

XHLaunchAd.podspec

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
Pod::Spec.new do |s|
22
s.name = "XHLaunchAd"
3-
s.version = "3.5.7"
3+
s.version = "3.5.8"
44
s.summary = "The screen opening advertising solutions -开屏广告解决方案,支持图片/视频、静态/动态、全屏/半屏广告,支持iPhone/iPad,自带图片下载、缓存功能,无其他三方依赖"
55
s.homepage = "https://github.com/CoderZhuXH/XHLaunchAd"
66
s.license = { :type => "MIT", :file => "LICENSE" }

XHLaunchAd/XHLaunchAd.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,8 +6,8 @@
66
// Copyright © 2016年 it7090.com. All rights reserved.
77
// 代码地址:https://github.com/CoderZhuXH/XHLaunchAd
88

9-
// 版本:3.5.7
10-
// 发布:2017.09.02
9+
// 版本:3.5.8
10+
// 发布:2017.09.13
1111

1212
// 如果你在使用过程中出现bug,请及时以下面任意一种方式联系我,我会及时修复bug并帮您解决问题。
1313
// QQ交流群:537476189

XHLaunchAd/XHLaunchAd.m

Lines changed: 73 additions & 37 deletions
Original file line numberDiff line numberDiff line change
@@ -158,14 +158,14 @@ - (instancetype)init
158158
-(void)setupLaunchAdEnterForeground
159159
{
160160
switch (_launchAdType) {
161-
case XHLaunchAdTypeImage:
161+
case XHLaunchAdTypeImage:
162162
{
163163
if(!_imageAdConfiguration.showEnterForeground) return;
164164
[self setupLaunchAd];
165165
[self setupImageAdForConfiguration:_imageAdConfiguration];
166166
}
167167
break;
168-
case XHLaunchAdTypeVideo:
168+
case XHLaunchAdTypeVideo:
169169
{
170170
if(!_videoAdConfiguration.showEnterForeground) return;
171171
[self setupLaunchAd];
@@ -426,10 +426,10 @@ -(XHLaunchAdConfiguration *)commonConfiguration
426426
{
427427
XHLaunchAdConfiguration *configuration = nil;
428428
switch (_launchAdType) {
429-
case XHLaunchAdTypeVideo:
429+
case XHLaunchAdTypeVideo:
430430
configuration = _videoAdConfiguration;
431431
break;
432-
case XHLaunchAdTypeImage:
432+
case XHLaunchAdTypeImage:
433433
configuration = _imageAdConfiguration;
434434
break;
435435
default:
@@ -499,37 +499,80 @@ -(void)removeAndAnimate{
499499

500500
XHLaunchAdConfiguration * configuration = [self commonConfiguration];
501501

502-
if(!configuration.showFinishAnimate) configuration.showFinishAnimate = ShowFinishAnimateFadein;
502+
CGFloat duration = showFinishAnimateTimeDefault;
503+
if(configuration.showFinishAnimateTime>0) duration = configuration.showFinishAnimateTime;
503504

504-
if(configuration.showFinishAnimate == ShowFinishAnimateLite)
505-
{
506-
CGFloat duration = showFinishAnimateTimeDefault;
507-
if(configuration.showFinishAnimateTime>0) duration = configuration.showFinishAnimateTime;
508-
[UIView animateWithDuration:duration animations:^{
505+
switch (configuration.showFinishAnimate) {
506+
507+
case ShowFinishAnimateNone:{
509508

510-
[UIView setAnimationCurve:UIViewAnimationCurveEaseOut];
511-
_window.transform=CGAffineTransformMakeScale(2.f, 2.f);
512-
_window.alpha = 0;
513-
} completion:^(BOOL finished) {
514-
[self remove];
515-
}];
516-
}
517-
else if(configuration.showFinishAnimate == ShowFinishAnimateFadein)
518-
{
519-
CGFloat duration = showFinishAnimateTimeDefault;
520-
if(configuration.showFinishAnimateTime>0) duration = configuration.showFinishAnimateTime;
521-
[UIView animateWithDuration:duration animations:^{
522-
_window.alpha = 0;
523-
} completion:^(BOOL finished) {
524509
[self remove];
525-
}];
510+
}
511+
break;
512+
case ShowFinishAnimateFadein:{
513+
514+
[self removeAndAnimateDefault];
515+
}
516+
break;
517+
case ShowFinishAnimateLite:{
518+
519+
[UIView transitionWithView:_window duration:duration options:UIViewAnimationOptionCurveEaseOut animations:^{
520+
_window.transform = CGAffineTransformMakeScale(1.5, 1.5);
521+
_window.alpha = 0;
522+
} completion:^(BOOL finished) {
523+
[self remove];
524+
}];
525+
526+
}
527+
break;
528+
case ShowFinishAnimateFlipFromLeft:{
529+
530+
[UIView transitionWithView:_window duration:duration options:UIViewAnimationOptionTransitionFlipFromLeft animations:^{
531+
_window.alpha = 0;
532+
} completion:^(BOOL finished) {
533+
[self remove];
534+
}];
535+
536+
}
537+
break;
538+
case ShowFinishAnimateFlipFromBottom:{
539+
540+
[UIView transitionWithView:_window duration:duration options:UIViewAnimationOptionTransitionFlipFromBottom animations:^{
541+
_window.alpha = 0;
542+
} completion:^(BOOL finished) {
543+
[self remove];
544+
}];
545+
546+
}
547+
break;
548+
case ShowFinishAnimateCurlUp:{
549+
550+
[UIView transitionWithView:_window duration:duration options:UIViewAnimationOptionTransitionCurlUp animations:^{
551+
_window.alpha = 0;
552+
} completion:^(BOOL finished) {
553+
[self remove];
554+
}];
555+
556+
}
557+
break;
558+
default:{
559+
560+
[self removeAndAnimateDefault];
561+
}
562+
break;
526563
}
527-
else
528-
{
564+
}
565+
-(void)removeAndAnimateDefault
566+
{
567+
XHLaunchAdConfiguration * configuration = [self commonConfiguration];
568+
CGFloat duration = showFinishAnimateTimeDefault;
569+
if(configuration.showFinishAnimateTime>0) duration = configuration.showFinishAnimateTime;
570+
[UIView transitionWithView:_window duration:duration options:UIViewAnimationOptionTransitionNone animations:^{
571+
_window.alpha = 0;
572+
} completion:^(BOOL finished) {
529573
[self remove];
530-
}
574+
}];
531575
}
532-
533576
-(void)remove{
534577

535578
DISPATCH_SOURCE_CANCEL_SAFE(_waitDataTimer)
@@ -553,14 +596,7 @@ -(void)remove{
553596
[self.delegate xhLaunchShowFinish:self];
554597
}
555598
}
556-
-(void)removeAndAnimateDefault
557-
{
558-
[UIView animateWithDuration:0.3 animations:^{
559-
_window.alpha = 0;
560-
} completion:^(BOOL finished) {
561-
[self remove];
562-
}];
563-
}
599+
564600
-(void)removeSubViewsExceptLaunchAdImageView
565601
{
566602
[_window.subviews enumerateObjectsUsingBlock:^(__kindof UIView * _Nonnull obj, NSUInteger idx, BOOL * _Nonnull stop) {

XHLaunchAd/XHLaunchAdConfiguration.h

Lines changed: 17 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -14,27 +14,29 @@
1414

1515
NS_ASSUME_NONNULL_BEGIN
1616

17-
//显示完成动画时间默认时间
17+
/** 显示完成动画时间默认时间 */
1818
static CGFloat const showFinishAnimateTimeDefault = 0.8;
1919

20-
/**
21-
* 显示完成动画
22-
*/
20+
/** 显示完成动画类型 */
2321
typedef NS_ENUM(NSInteger , ShowFinishAnimate) {
2422

25-
/**
26-
* 无
27-
*/
23+
/** 无动画 */
2824
ShowFinishAnimateNone = 1,
29-
/**
30-
* 普通淡入(default)
31-
*/
25+
26+
/** 普通淡入(default) */
3227
ShowFinishAnimateFadein = 2,
33-
/**
34-
* 放大淡入
35-
*/
36-
ShowFinishAnimateLite = 3
3728

29+
/** 放大淡入 */
30+
ShowFinishAnimateLite = 3,
31+
32+
/** 左右翻转(类似网易云音乐) */
33+
ShowFinishAnimateFlipFromLeft = 4,
34+
35+
/** 下上翻转 */
36+
ShowFinishAnimateFlipFromBottom = 5,
37+
38+
/** 向上翻页 */
39+
ShowFinishAnimateCurlUp = 6,
3840
};
3941

4042
#pragma mark - 公共属性
@@ -81,7 +83,7 @@ typedef NS_ENUM(NSInteger , ShowFinishAnimate) {
8183
@property(nonatomic,strong) UIView *customSkipView;
8284

8385
/**
84-
* 子视图(若定义此属性,这些视图将会被自动添加在广告视图上)
86+
* 子视图(若定义此属性,这些视图将会被自动添加在广告视图上,frame相对于window)
8587
*/
8688
@property(nonatomic,copy,nullable) NSArray<UIView *> *subViews;
8789

XHLaunchAd/XHLaunchAdConfiguration.m

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,10 +11,8 @@
1111
#pragma mark - 公共
1212
@implementation XHLaunchAdConfiguration
1313

14-
1514
@end
1615

17-
1816
#pragma mark - 图片广告相关
1917
@implementation XHLaunchImageAdConfiguration
2018

XHLaunchAd/XHLaunchAdImage.m

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -197,7 +197,7 @@ - (id)initWithCGImageSource:(CGImageSourceRef)imageSource scale:(CGFloat)scale
197197
//});
198198

199199
_scale = scale;
200-
readFrameQueue = dispatch_queue_create("com.it7090.gifreadframe", DISPATCH_QUEUE_SERIAL);
200+
readFrameQueue = dispatch_queue_create("com.ronnie.gifreadframe", DISPATCH_QUEUE_SERIAL);
201201

202202
return self;
203203
}

XHLaunchAd/XHLaunchAdImageManager.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ typedef NS_OPTIONS(NSUInteger, XHLaunchAdImageOptions) {
2929
XHLaunchAdImageRefreshCached = 1 << 2 ,
3030

3131
/**
32-
* 后台缓存本次不显示,缓存OK后下次再显示
32+
* 后台缓存本次不显示,缓存OK后下次再显示(建议使用这种方式)
3333
*/
3434
XHLaunchAdImageCacheInBackground = 1 << 3
3535

XHLaunchAdExample/XHLaunchAdManager.m

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -16,18 +16,19 @@
1616
#import "WebViewController.h"
1717

1818

19-
//静态图
19+
/** 以下连接供测试使用 */
20+
/** 静态图 */
2021
#define imageURL1 @"http://c.hiphotos.baidu.com/image/pic/item/4d086e061d950a7b78c4e5d703d162d9f2d3c934.jpg"
2122
#define imageURL2 @"http://d.hiphotos.baidu.com/image/pic/item/f7246b600c3387444834846f580fd9f9d72aa034.jpg"
2223
#define imageURL3 @"http://d.hiphotos.baidu.com/image/pic/item/64380cd7912397dd624a32175082b2b7d0a287f6.jpg"
2324
#define imageURL4 @"http://d.hiphotos.baidu.com/image/pic/item/14ce36d3d539b60071473204e150352ac75cb7f3.jpg"
2425

25-
//动态图
26+
/** 动态图 */
2627
#define imageURL5 @"http://c.hiphotos.baidu.com/image/pic/item/d62a6059252dd42a6a943c180b3b5bb5c8eab8e7.jpg"
2728
#define imageURL6 @"http://p1.bqimg.com/567571/4ce1a4c844b09201.gif"
2829
#define imageURL7 @"http://p1.bqimg.com/567571/23a4bc7a285c1179.gif"
2930

30-
//视频链接
31+
/** 视频链接 */
3132
#define videoURL1 @"http://ohnzw6ag6.bkt.clouddn.com/video0.mp4"
3233
#define videoURL2 @"http://120.25.226.186:32812/resources/videos/minion_01.mp4"
3334
#define videoURL3 @"http://ohnzw6ag6.bkt.clouddn.com/video1.mp4"
@@ -131,7 +132,7 @@ -(void)example01
131132
//广告点击打开链接
132133
imageAdconfiguration.openURLString = model.openUrl;
133134
//广告显示完成动画
134-
imageAdconfiguration.showFinishAnimate =ShowFinishAnimateFadein;
135+
imageAdconfiguration.showFinishAnimate =ShowFinishAnimateLite;
135136
//广告显示完成动画时间
136137
imageAdconfiguration.showFinishAnimateTime = 0.8;
137138
//跳过按钮类型
@@ -170,7 +171,7 @@ -(void)example02
170171
//广告点击打开链接
171172
imageAdconfiguration.openURLString = @"http://www.it7090.com";
172173
//广告显示完成动画
173-
imageAdconfiguration.showFinishAnimate =ShowFinishAnimateFadein;
174+
imageAdconfiguration.showFinishAnimate =ShowFinishAnimateFlipFromLeft;
174175
//广告显示完成动画时间
175176
imageAdconfiguration.showFinishAnimateTime = 0.8;
176177
//跳过按钮类型
@@ -257,7 +258,7 @@ -(void)example04
257258
//跳过按钮类型
258259
videoAdconfiguration.skipButtonType = SkipTypeTimeText;
259260
//广告显示完成动画
260-
videoAdconfiguration.showFinishAnimate =ShowFinishAnimateFadein;
261+
videoAdconfiguration.showFinishAnimate =ShowFinishAnimateLite;
261262
//广告显示完成动画时间
262263
videoAdconfiguration.showFinishAnimateTime = 0.8;
263264
//后台返回时,是否显示广告

0 commit comments

Comments
 (0)