GithubHelp home page GithubHelp logo

gdmiao / brpickerview Goto Github PK

View Code? Open in Web Editor NEW

This project forked from agiapp/brpickerview

0.0 2.0 0.0 1.99 MB

此框架封装的是iOS常用的选择器组件,主要包括:日期选择器、时间选择器、地址选择器、自定义单列字符串选择器、自定义多列字符串选择器。支持CocoaPods导入。

License: Apache License 2.0

Ruby 10.37% Objective-C 89.63%

brpickerview's Introduction

框架介绍

BRPickerView是iOS的选择器组件,主要包括:日期选择器、时间选择器、地址选择器、自定义字符串选择器。

效果演示

查看并运行 BRPickerViewDemo.xcodeproj

Demo运行效果图
框架Demo运行效果图

安装

CocoaPods

  1. 在 Podfile 中添加 pod 'BRPickerView'

  2. 执行 pod installpod update

  3. 导入头文件 #import <BRPickerView.h>

    注意:

    ​ 先搜索框架:pod search BRPickerView (版本号为1.0.0)

    ​ 如果无法搜索到框架,执行下面操作:

    ​ 1》pod setup

    ​ 2》rm ~/Library/Caches/CocoaPods/search_index.json

    ​ 3》pod search BRPickerView

    导入框架:pod 'BRPickerView', '~> 1.0.0'

手动导入

  1. 将与 README.md 同级目录下的 BRPickerView 文件夹拽入项目中

  2. 导入头文件 #import "BRPickerView.h"

    注意:本框架依赖第三方YYModel,所以手动导入框架时,还需要导入YYModel框架。

系统要求

  • iOS 8.0+
  • ARC

使用

  • 时间选择器:BRDatePickerView

    /**
     *  显示时间选择器
     *
     *  @param title            标题
     *  @param type             类型(时间、日期、日期和时间、倒计时)
     *  @param defaultSelValue  默认选中的时间(为空,默认选中现在的时间)
     *  @param minDateStr       最小时间(如:2015-08-28 00:00:00),可为空
     *  @param maxDateStr       最大时间(如:2018-05-05 00:00:00),可为空
     *  @param isAutoSelect     是否自动选择,即选择完(滚动完)执行结果回调,传选择的结果值
     *  @param resultBlock      选择结果的回调
     *
     */
    + (void)showDatePickerWithTitle:(NSString *)title dateType:(UIDatePickerMode)type defaultSelValue:(NSString *)defaultSelValue minDateStr:(NSString *)minDateStr maxDateStr:(NSString *)maxDateStr isAutoSelect:(BOOL)isAutoSelect resultBlock:(BRDateResultBlock)resultBlock;

    方法使用:

    [BRDatePickerView showDatePickerWithTitle:@"出生年月" dateType:UIDatePickerModeDate defaultSelValue:weakSelf.birthdayTF.text minDateStr:@"" maxDateStr:[NSDate currentDateString] isAutoSelect:YES resultBlock:^(NSString *selectValue) {
    	weakSelf.birthdayTF.text = selectValue;
    }];

    效果图:

    日期选择器

  • 地址选择器:BRAddressPickerView

    /**
     *  显示地址选择器
     *
     *  @param defaultSelectedArr       默认选中的值(传数组,元素为对应的索引值。如:@[@10, @1, @1])
     *  @param isAutoSelect             是否自动选择,即选择完(滚动完)执行结果回调,传选择的结果值
     *  @param resultBlock              选择后的回调
     *
     */
    + (void)showAddressPickerWithDefaultSelected:(NSArray *)defaultSelectedArr isAutoSelect:(BOOL)isAutoSelect resultBlock:(BRAddressResultBlock)resultBlock;

    方法使用:

    [BRAddressPickerView showAddressPickerWithDefaultSelected:@[@10, @0, @3] isAutoSelect:YES resultBlock:^(NSArray *selectAddressArr) {
    	weakSelf.addressTF.text = [NSString stringWithFormat:@"%@%@%@", selectAddressArr[0], selectAddressArr[1], selectAddressArr[2]];
    }];

    效果图:

    地址选择器

  • 自定义字符串选择器:BRStringPickerView

    /**
     *  显示自定义字符串选择器
     *
     *  @param title            标题
     *  @param dataSource       数组数据源
     *  @param defaultSelValue  默认选中的行(单列传字符串,多列传一维数组)
     *  @param isAutoSelect     是否自动选择,即选择完(滚动完)执行结果回调,传选择的结果值
     *  @param resultBlock      选择后的回调
     *
     */
    + (void)showStringPickerWithTitle:(NSString *)title
                           dataSource:(NSArray *)dataSource
                      defaultSelValue:(id)defaultSelValue
                         isAutoSelect:(BOOL)isAutoSelect
                          resultBlock:(BRStringResultBlock)resultBlock;
                          
    /**
     *  显示自定义字符串选择器
     *
     *  @param title            标题
     *  @param plistName        plist文件名
     *  @param defaultSelValue  默认选中的行(单列传字符串,多列传一维数组)
     *  @param isAutoSelect     是否自动选择,即选择完(滚动完)执行结果回调,传选择的结果值
     *  @param resultBlock      选择后的回调
     *
     */
    + (void)showStringPickerWithTitle:(NSString *)title
                            plistName:(NSString *)plistName
                      defaultSelValue:(id)defaultSelValue
                         isAutoSelect:(BOOL)isAutoSelect
                          resultBlock:(BRStringResultBlock)resultBlock;

    方法使用:

    // 自定义单列字符串
    [BRStringPickerView showStringPickerWithTitle:@"学历" dataSource:@[@"大专以下", @"大专", @"本科", @"硕士", @"博士", @"博士后"] defaultSelValue:@"本科" isAutoSelect:YES resultBlock:^(id selectValue) {
    	weakSelf.educationTF.text = selectValue;
    }];
    // 自定义多列字符串
    NSArray *dataSources = @[@[@"第1周", @"第2周", @"第3周", @"第4周", @"第5周", @"第6周", @"第7周"], @[@"第1天", @"第2天", @"第3天", @"第4天", @"第5天", @"第6天", @"第7天"]];
    [BRStringPickerView showStringPickerWithTitle:@"自定义多列字符串" dataSource:dataSources defaultSelValue:@[@"第3周", @"第3天"] isAutoSelect:YES resultBlock:^(id selectValue) {
    	weakSelf.otherTF.text = [NSString stringWithFormat:@"%@%@", selectValue[0], selectValue[1]];
    }];

    效果图:

    自定义单列字符串 自定义多列字符串
    自定义单列字符串 自定义多列字符串

许可证

BRPickerView 使用 MIT 许可证,详情见 LICENSE 文件。

brpickerview's People

Contributors

agiapp avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.