iOS开发学习iOS学习IOS

iOS动画弹框看我就够了

2017-08-18  本文已影响349人  Abnerzj

一、前言

前段时间公司做了款棋牌游戏,涉及到各种动画交互,动画弹框就是其中一种,由于对Cocos2D不是很熟,全部用原生写,做的那叫一个舒(hao)爽(kun),还好最终效果棒棒哒,达到了自己满意的要求。
抛砖引玉,在这里说一下自己对iOS动画的感受吧,老铁们都知道动画在iOS是最廉价的,原生的苹果已经封装到了极致,Facebook也开源动画引擎 Pop,让我们实现动画效果既简单又充满活力。但是,让人头疼又无可奈何的是,你想把动画做成想要的效果,需要花费大量时间调试(虽然都说程序猿的审美不咋的,对于喜欢追求完美的人来说,为了达到完美效果,让用户用起来也感觉惊叹,愿意花这个时间,原谅跟我一样有这种性格的老铁们🤗 ),这种没有技术含量的活,我觉得有我一个人干就好了(老铁们此处应该有掌声了😌 ),所以萌生了写一个动画弹框库的想法。
在写动画弹框库之前,自己开发的项目中由于不同业务功能,也写过三款弹框,所以也一直考虑整合一个可以实现绝大部分(至少满足90%以上)需求的弹框,这也是我写动画弹框库的另外一个重要原因。
好了,废话不多说了,先上Github和几张效果图(PS:由于录制的Gif图失帧较多,老铁们可以直接下载Demo运行查看,整个Demo大小不足1M,怪我🙃 ):

AlertView弹框
个人资料页

二、能做什么

三、安装

方式一:使用CocoaPods

pod 'ZJAnimationPopView'

方式二:手动导入

ZJAnimationPopView.h                      
ZJAnimationPopView.m

四、示例

方式一:直接使用

// 1.初始化
ZJAnimationPopView *popView = [[ZJAnimationPopView alloc] initWithCustomView:[[UIView alloc] initWithFrame:CGRectMake(0, 0, 300, 300)] popStyle:ZJAnimationPopStyleScale dismissStyle:ZJAnimationDismissStyleScale];
// 2.显示弹框
[popView pop];

方式二:自定义想要的弹框效果

// 1.Get custom view【获取自定义控件】
UIView *customView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 300, 300)];

UIImageView *imageView = [[UIImageView alloc] initWithFrame:customView.bounds];
imageView.image = [UIImage imageNamed:@"personal_info_02"];
[customView addSubview:imageView];

// 2.Init【初始化】
ZJAnimationPopView *popView = [[ZJAnimationPopView alloc] initWithCustomView:customView popStyle:ZJAnimationPopStyleScale dismissStyle:ZJAnimationDismissStyleScale];

// 3.Set properties,can not be set【设置属性,可不设置使用默认值,见注解】
// 3.1 显示时点击背景是否移除弹框
popView.isClickBGDismiss = ![_customView isKindOfClass:[SlideSelectCardView class]];
// 3.2 显示时背景的透明度
popView.popBGAlpha = 0.5f;
// 3.3 显示时是否监听屏幕旋转
popView.isObserverOrientationChange = YES;
// 3.4 显示时动画时长
popView.popAnimationDuration = 0.8f;
// 3.5 移除时动画时长
popView.dismissAnimationDuration = 0.8f;

// 3.6 显示完成回调
popView.popComplete = ^{
NSLog(@"显示完成");
};
// 3.7 移除完成回调
popView.dismissComplete = ^{
NSLog(@"移除完成");
};

// 4.pop view【显示弹框】
[popView pop];

五、结语

作为一名程序员,都喜欢Coding,所以不管公司交了多少任务,我们即使加班加点也是快乐的,我能说这病还有治嘛,这个库就是为了避免让大家一直重复造轮子,稍微一点点减轻老铁们的工作量,也为了能早点玩两把农药😂。

PS:

上一篇 下一篇

猜你喜欢

热点阅读