美文网首页开源-iOS
(iOS)新特性 - CDDNewFeatures

(iOS)新特性 - CDDNewFeatures

作者: RocketsChen | 来源:发表于2018-04-22 19:22 被阅读196次

前言:

一般性我们开始一个新的项目的时候一个必不可少的要实现的功能就是新特性页面。主要告诉用户这个APP实现了什么,或者本次更新新增什么有趣的功能。我把之前封装的CDDNewFeatures进行功能性扩展并上传到pods可以简易集成。下面简单介绍下使用方式:

语言和使用限制

  • Xcode 8+
  • Objective-C

GitHub-Demo:

集成方式:

  • 下载Demo将目录文件下的CDDNewFeatures文件夹拖入项目中,导入头文件。
  • 使用CocoaPods :pod 'CDDNewFeatures' ,目前更新版本为‘1.0.1’

框架中一些方法:

/**
 初始化
 *usImageArray   图片数组
 *ixImageArray   设备X图片数组
 *showSkip       是否展示跳过
 *selColor       选择小圆点的颜色
 *imEnjoyImg     立即体验素材
 *showPageCount  是否展示小圆点
 *isDefaultPass  是否默认滑到最后一页继续滑动跳过特性页面
 
 @param baseSettingBlock 基本设置Block
 @param dismissBlock 界面消失回调(点击跳过)
 */
- (void)setUpFeatureAttribute:(void(^)(NSArray **usImageArray,NSArray **ixImageArray,NSString **imEnjoyImg,UIColor **selColor,BOOL *isDefaultPass,BOOL *showSkip,BOOL *showPageCount))baseSettingBlock WithDismissBlock:(dispatch_block_t)dismissBlock;
/**
 自定义跳过/立即体验按钮Frame

 @param controlSettingBlock 设置
 */
- (void)setUpFeatureControl:(void(^)(CGRect *skipBtnRect,CGRect *experienceBtnRect))controlSettingBlock;

简单介绍下上面两个方法:第一个方式是进行初始化,通过Block传值的方式传入新特性页面所需要的参数,再通过Block回调传入点击立即体验/跳过等按钮后的所做的事。方法二是一个设置方法:一般在我们新特性的页面可能存在的就是两个按钮一个是跳过,一个可能是自定义的立即体验素材,这个我新增了扩展可以让使用者高度自定义,去适配需求。

框架中自定义工具:

/**
 是否展示新特性页面
 
 @return 是:展示/否:不展示
 */
+ (BOOL)dc_isShowNewFeatures;


/**
 跟换根控制器

 @param rootViewController 根控制器
 @param featuresChangeVcType 切换控制器动画
 */
+ (void)dc_restoreRootViewController:(UIViewController *)rootViewController WithAnimations:(DCFeaturesChangeVcType)featuresChangeVcType;

再切换根控制器的方法中我带有一个枚举参数,通过传入的枚举让切换的过程中加入一个动画效果。这里我提供了关于是否展示新特的bool判断dc_isShowNewFeatures

typedef NS_ENUM(NSUInteger, DCFeaturesChangeVcType) {

    DCFeaturesChangeVcNormal = 0, //默认方式
    DCFeaturesChangeVcGradient = 1, //渐变方式
    DCFeaturesChangeVcEffect = 2, //水花方式 
    DCFeaturesChangeVcCube = 3, //立方翻转
    
};

实现效果:

实现效果

最后

使用过程中遇到问题可以给我提issues。demo源码在GitHub上可以前去下载,喜欢的话点个Star。

相关文章

网友评论

    本文标题:(iOS)新特性 - CDDNewFeatures

    本文链接:https://www.haomeiwen.com/subject/sniclftx.html