• Stars
    star
    108
  • Rank 321,259 (Top 7 %)
  • Language
    Objective-C
  • License
    MIT License
  • Created over 9 years ago
  • Updated over 8 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

几行代码快速集成新特性界面!

LCNewFeature

Travis CocoaPods CocoaPods CocoaPods LeoDev

几行代码快速集成新特性界面!

LCNewFeature

In me the tiger sniffs the rose.

心有猛虎,细嗅蔷薇。

欢迎访问 我的博客 ~

前言 Foreword

每次拿到一个项目的时候,头疼的几件事之一就是新特性界面,写一堆代码做一个简单的东西。所以抽空写了个快速集成新特性界面的框架,传了上来共享之~

代码 Code

  • 下面是示例代码,请多参考Demo!!

  • 两种集成方法任选一:

    • 方法一:CocoaPods 导入:pod 'LCNewFeature'
    • 方法二:在Demo中找到 LCNewFeature 文件夹,拖拽到你的项目中。
  • AppDelegate.m 文件中,导入头文件:#import "LCNewFeature.h",参考下列代码快速集成:

    BOOL showNewFeature = [LCNewFeatureVC shouldShowNewFeature];
    
    if (showNewFeature) {   // 如果需要显示新特性界面
    
        __weak typeof(self) weakSelf = self;
        LCNewFeatureVC *newFeatureVC = [LCNewFeatureVC newFeatureWithImageName:@"new_feature"
                                                                    imageCount:3
                                                                showPageControl:YES
                                                                    finishBlock:^{
    
                                                                        [weakSelf enterMainVC];
                                                                    }];
    
        self.window.rootViewController = newFeatureVC;
    
    } else {    // 如果不需要显示新特性界面
    
        [self enterMainVC];
    }
  • enterMainVC (进入主界面) 方法参考:

    - (void)enterMainVC {
    
        UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"Main" bundle:nil];
    
        self.window.rootViewController = storyboard.instantiateInitialViewController;
    }
  • 回调当前页码的 delegate:(@optional)

    // 当前页码的代理
    newFeatureVC.delegate = self;
    
    // ...
    
    #pragma mark - LCNewFeatureVC Delegate
    
    - (void)newFeatureVC:(LCNewFeatureVC *)newFeatureVC page:(NSInteger)page {
        NSLog(@"%@ -> Page: %d", newFeatureVC, (int)page);
    }
  • 有一些神奇的地方,比如赋值只需要传一次图片名是为什么?其实是这样的,你需要按以下规范来给图片命名:(这其实是美工的事:))

    比如图片原名:`[email protected]`
    
    规范:
    `[email protected]`   将作为第一张图展示
    `[email protected]`   将作为第二张图展示
    ...
    
  • 那么怎么适配不同尺寸的屏幕呢?简单,不用动代码,还是规范图片命名:(这还是美工的事:))

    比如图片原名:`[email protected]`
    
    规范:
    `[email protected]`           将展示在 iPhone 4 / 4s 上
    `[email protected]`   将展示在 iPhone 5 / 5s 上
    `[email protected]`   将展示在 iPhone 6 / 6s 上
    `[email protected]`  将展示在 iPhone 6 p / 6s p 上
    

版本 Release

V 1.1.3 (2016.05.03)

  • 去除 Log。

V 1.1.2 (2016.04.22)

  • 添加代理协议,回调当前页码。详见 Issue 5

V 1.1.1 (2016.04.05)

  • 更新 CocoaPods 源地址。

V 1.1.0 (2016.03.23)

  • 添加跳过按钮。

    __weak typeof(self) weakSelf = self;
    
    newFeatureVC.showSkip = YES;
    newFeatureVC.skipBlock = ^(void) {
        [weakSelf enterMainVC]; // 进入首页
    };

V 1.0.3 (2015.12.07)

  • Demo 中添加演示:切换 RootVC 时,如何搞淡入淡出效果。😈😈

V 1.0.3 (2015.11.13)

  • 添加对 iPhone 6 / 6s / 6 p / 6s p 的放大模式的支持,感谢 RobinChao 等同学的提醒。

  • 已针对放大模式进行了显示测试和边框校对,例:Demo 中的 iPhone 6 / 6s 第一张启动图。(根目录下有个 PSD 文件,参考修改)附:放大模式下屏幕分辨率:

    • iPhone 6 / 6s 的放大模式下,屏幕分辨率为:640 x 1136 (框架将使用 iPhone 5 的图)
    • iPhone 6 p / 6s p 的放大模式下,屏幕分辨率为:1125 x 2001 (框架将使用 iPhone 6 p 的图)

V 1.0.2 (2015.11.09)

  • 添加对 CocoaPods 的支持:pod 'LCNewFeature'

V 1.0.0 (2015.05.05)

  • 初始化提交。

  • 添加一些界面跳转的动画效果。

提示 Tips

  • 提供了两种进入主界面的方式:

    + (instancetype)newFeatureWithImageName:(NSString *)imageName imageCount:(NSInteger)imageCount showPageControl:(BOOL)showPageControl finishBlock:(finishBlock)finishBlock;
        将通过一直左划的方式,通过block回调进入主界面。
    + (instancetype)newFeatureWithImageName:(NSString *)imageName imageCount:(NSInteger)imageCount showPageControl:(BOOL)showPageControl enterButton:(UIButton *)enterButton;
        将在最后一张新特性图片上添加一个按钮,然后点击按钮进入主界面,按钮的属性设置好再传入(参考Demo中的代码)。
  • 上述方法都是类方法,也提供了实例方法 initWith... 什么的,视个人习惯调用。

  • 提供了一些属性,可选设置:

    • 当前点(分页控制器)的颜色:pointCurrentColor
    • 其他点(分页控制器)的颜色:pointOtherColor
    • 状态栏样式:statusBarStyle
  • 记住一句话:经理可以顶,职位可以辞,但是服务器的哥们和美工的妹子绝对不能惹!2333

  • 多参考 Demo,如果还有问题或者建议,请联系我,我也想做的更好!联系方式在下面:)

联系 Support

授权 License

本项目采用 MIT license 开源,你可以利用采用该协议的代码做任何事情,只需要继续继承 MIT 协议即可。

More Repositories

1

LCActionSheet

一款简约而不失强大的 ActionSheet,微博、微信和 QQ 都采用了极其类似的样式,完全支持 Swift。
Objective-C
821
star
2

LCTabBarController

A amazing and highly customized tabBarController! You could almost customize 100% properties with LCTabBarController!
Objective-C
385
star
3

LCNavigationController

除 UINavigationController 外最流行的 NavigationController!
Objective-C
226
star
4

LCDownloadManager

一个简单易用的下载助手。基于AFN,实现断点续传,采取Block方式回调下载进度、文件大小、下载是否完成等。
Objective-C
183
star
5

LCBannerView

A very popular and highly customized banner view! Infinite loop support!
Objective-C
159
star
6

LCProgressHUD

一个超简单的活动指示器。适配横屏。
Objective-C
102
star
7

XXWB

当初学习 iOS 开发时写的小小微博,高仿新浪微博首页!仅供学习哈!请阅读下方必读!!!!
Objective-C
59
star
8

LCCoolHUD

一款酷酷的 HUD。
Objective-C
28
star
9

ReusableProtocol

A helpful and pure Swift implemented library for registering and reusing cells or views in the table view and collection view.
Swift
27
star
10

LCPaintView

🖌 Paint view for iOS.
Objective-C
20
star
11

Xia

🌟 Naughty flexible alert view above the navigation bar.
Swift
19
star
12

LCBlur

Quick way to add blur effect ~
Objective-C
18
star
13

ShakeDemo

摇一摇Demo
Objective-C
17
star
14

ApplePayDemo

 Pay Demo with Swift.
Swift
17
star
15

LCLoadingHUD

彩虹加载指示器。
Objective-C
16
star
16

WeChat

基于XMPP模仿微信App进行IM(即时聊天)开发,并适配iPad、iOS7。(暂停开发,有空再讲……)
Objective-C
14
star
17

SearchBarDemo

Objective-C
13
star
18

LCTipView

An individuality tip view.
Objective-C
11
star
19

LCUtils

个人在开发中使用的工具类。
Objective-C
10
star
20

Grids

⚠️ UIStackView IS A BETTER SOLUTION. 🏁 Grids layout, making views equidistant. Base on SnapKit.
Swift
7
star
21

Da

🌟 Naughty flexible alert view. Like QQ's.
Swift
5
star
22

LCAlertView

Using UIAlertView with Block!
Objective-C
3
star
23

FMDBDemo

A demo for FMDB.
Objective-C
3
star
24

DaXia

🍰 Naughty flexible alert view :) Contains Da and Xia.
Ruby
3
star
25

WebVC

UIWebView + 自定义 Request 的 Header 中添加键值对 KeyValues
Objective-C
1
star
26

UIAlertViewDemo

How to implement the UIAlertView of the system?
Objective-C
1
star
27

FileShareDemo

Demo for share files with iTunes.
Swift
1
star
28

LEONetworkKit

LEONetworkKit is a part of LEOKit. Have fun!
Objective-C
1
star
29

XcodeConfigs

Inspiration from: https://github.com/johnil/xcode_configs
1
star
30

LCCalendarView

For LanMeng Tec.
Objective-C
1
star
31

LCWebViewController

一个带进度条、带工具条、可高度自定义的浏览器!
Objective-C
1
star