通过UIPickerView选择器做的一个类似于密码锁的日期时间表

源码如下:

 #import <UIKit/UIKit.h>

 @interface ViewController : UIViewController<UIPickerViewDataSource,UIPickerViewDelegate>
@property (strong,nonatomic) NSArray *weeks;//显示第一列的数据
@property (strong,nonatomic) NSArray *time; //显示第二列的数据 @property (strong,nonatomic)NSArray *years; //显示第三列的显示年
@property (strong,nonatomic)NSArray *months; //显示第四列的显示月
@property (strong,nonatomic)NSArray *days; //显示第五列的显示日 @property (assign,nonatomic)NSInteger number;
@property (strong,nonatomic)NSString *str;
@end
 #import "ViewController.h"

 @interface ViewController ()
@property (weak, nonatomic) IBOutlet UIPickerView *pickerView; @end @implementation ViewController
- (void)viewDidLoad {
[super viewDidLoad]; //初始化 self.weeks = [NSArray arrayWithObjects:@"Mon",@"Tus",@"Thi",@"Wen",@"Fir",@"Sat",@"Sun", nil]; self.time = [NSArray arrayWithObjects:@"上午",@"中午",@"下午", nil]; self.years = [NSArray arrayWithObjects:@"",@"",@"",@"",@"",@"",@"",@"",@"",@"",@"",@"",@"",@"",@"",nil]; self.months = [NSArray arrayWithObjects:@"",@"", @"", @"", @"", @"", @"", @"", @"", @"", @"", @"", nil]; self.days = [NSArray arrayWithObjects:@"",@"",@"",@"",@"",@"",@"",@"",@"",@"",@"",@"",@"",@"",@"",@"",@"",@"",@"",@"",@"",@"",@"",@"",@"",@"",@"",@"",@"",@"",@"",nil]; //设置pickerView的DataSource和Delegate
self.pickerView.dataSource = self;
self.pickerView.delegate = self;
}
- (void)didReceiveMemoryWarning {
[super didReceiveMemoryWarning];
// Dispose of any resources that can be recreated.
} #pragma mark-pickerView的代理方法 //设置有多少列
-(NSInteger)numberOfComponentsInPickerView:(UIPickerView *)pickerView
{
return ;
} //设置每列多少行
-(NSInteger)pickerView:(UIPickerView *)pickerView numberOfRowsInComponent:(NSInteger)component
{
switch (component)
{
case :
self.number = self.weeks.count;
break;
case :
self.number = self.time.count;
break;
case :
self.number = self.years.count;
break;
case :
self.number = self.months.count;
break;
case :
self.number = self.days.count;
break;
} return self.number; } //设置每行每列显示的内容
-(NSString *)pickerView:(UIPickerView *)pickerView titleForRow:(NSInteger)row forComponent:(NSInteger)component
{ switch (component)
{
case :
self.str = self.weeks[row];
break;
case :
self.str = self.time[row];
break;
case :
self.str = self.years[row];
break;
case :
self.str = self.months[row];
break;
case :
self.str = self.days[row];
break;
} return self.str; } //通过代理方法didSelectRows获取数据
- (void)pickerView:(UIPickerView *)pickerView didSelectRow:(NSInteger)row inComponent:(NSInteger)component
{
//NSLog(@"列:%ld,行:%ld",component,row);
switch (component)
{
case :
NSLog(@"%@",[NSString stringWithFormat:@"%@,%@,%@,%@,%@",self.weeks[row],self.time[[pickerView selectedRowInComponent:]],self.years[[pickerView selectedRowInComponent:]],self.months[[pickerView selectedRowInComponent:]],self.days[[pickerView selectedRowInComponent:]]]);
break;
case :
NSLog(@"%@",[NSString stringWithFormat:@"%@,%@,%@,%@,%@",self.weeks[[pickerView selectedRowInComponent:]],self.time[row],self.years[[pickerView selectedRowInComponent:]],self.months[[pickerView selectedRowInComponent:]],self.days[[pickerView selectedRowInComponent:]]]);
break;
case :
NSLog(@"%@",[NSString stringWithFormat:@"%@,%@,%@,%@,%@",self.weeks[[pickerView selectedRowInComponent:]],self.time[[pickerView selectedRowInComponent:]],self.years[row],self.months[[pickerView selectedRowInComponent:]],self.days[[pickerView selectedRowInComponent:]]]);
break;
case :
NSLog(@"%@",[NSString stringWithFormat:@"%@,%@,%@,%@,%@",self.weeks[[pickerView selectedRowInComponent:]],self.time[[pickerView selectedRowInComponent:]],self.years[[pickerView selectedRowInComponent:]],self.months[row],self.days[[pickerView selectedRowInComponent:]]]);
break;
case :
NSLog(@"%@",[NSString stringWithFormat:@"%@,%@,%@,%@,%@",self.weeks[[pickerView selectedRowInComponent:]],self.time[[pickerView selectedRowInComponent:]],self.years[[pickerView selectedRowInComponent:]],self.months[[pickerView selectedRowInComponent:]],self.days[row]]);
break;
}
}
@end

iOS:UIPickerView选择器的使用的更多相关文章

  1. vue 2 仿IOS 滚轮选择器 从入门到精通 (一)

    大家好,由于最近从事的是微信公众号和APP内嵌 H5开发,避免不了开发一些和native相同的操作功能,就如接下来说的 仿IOS滚轮选择器. 先来个截图: 接下来具体介绍如何实现的.能力有限避免不了错 ...

  2. UIPickerView(选择器)

    UIPickerView也是一个选择器控件,它比UIDatePicker更加通用,它可以生成单列的选择器,也可生成多列的选择器,而且开发者完全可以自定义选择项的外观,因此用法非常灵活. UIPicke ...

  3. UIPickerView选择器的使用方法

    UIPickerView是选择列表内容的控件 使用方法与UITableView类似 都需要用array传入数据 用Delegate DataSource中的代理方法实现各种显示功能 @interfac ...

  4. iOS - UIPickerView

    前言 NS_CLASS_AVAILABLE_IOS(2_0) __TVOS_PROHIBITED @interface UIPickerView : UIView <NSCoding, UITa ...

  5. ios自定义选择器ActionSheetPicker改进版

    ios自带的UIDataPicker和UIDatePicker最大的毛病就是没有带确定和取消这两个按钮,而ActionSheetPicker是以上两个选择器的开源封装.但是这个东东也有些小问题,就是没 ...

  6. iOS分段选择器、旅行App、标度尺、对对碰小游戏、自定义相册等源码

    iOS精选源码 企业级开源项目,模仿艺龙旅行App 标签选择器--LeeTagView CSSegmentedControl常用的分段选择器,简单易用! 仿微信左滑删除 IOS左滑返回 输入框 iOS ...

  7. iOS UIPickerView 显示全国省市

    效果图 #import "ViewController.h" @interface ViewController () @property(strong,nonatomic)UIP ...

  8. 一个iOS图片选择器的DEMO(实现图片添加,宫格排列,图片长按删除,以及图片替换等功能)

    在开发中,经常用到选择多张图片进行上传或作其他处理等等,以下DEMO满足了此功能中的大部分功能,可直接使用到项目中. 主要功能如下: 1,图片九宫格排列(可自动设置) 2,图片长按抖动(仿苹果软件删除 ...

  9. ios UIPickerView 技巧集锦(包括循环滚动)

    摘自: http://blog.csdn.net/ipromiseu/article/details/7436521 http://www.cnblogs.com/dabaopku/archive/2 ...

随机推荐

  1. Bootstrap--响应式显示图片信息列表

    HTML布局 <link href="~/Content/StyleSheet1.css" rel="stylesheet" /> <div ...

  2. xshell连接不上linux问题

    1.首先确定linux系统有网络. 使用ipconfig查看是否有ip地址,没有的话需要先配置. 2.打开sshd服务:service sshd start 3.关闭防火墙服务:service ipt ...

  3. Python 多线程 实例

    多线程实例 import threading import time def eat(): eatTime = time.time() for i in range(30): print('count ...

  4. java 工厂模式和内部类的完美结合

    package com.bikeqx.test; public class Main{ public static void apply(ServiceFactory sf){ Service s = ...

  5. 使用Swing的JSpinner组件设置日期时间选择器

    代码: //获得时间日期模型 SpinnerDateModel model = new SpinnerDateModel(); //获得JSPinner对象 JSpinner year = new J ...

  6. 机器学习之路: python 回归树 DecisionTreeRegressor 预测波士顿房价

    python3 学习api的使用 git: https://github.com/linyi0604/MachineLearning 代码: from sklearn.datasets import ...

  7. win32创建窗口函数(windows程序内部运行机制)

    利用win32创建窗口函数,主要操作步骤为: 1.设计一个窗口类 2.注册窗口类 3.创建窗口 4.显示及窗口更新 5.消息循环 6.窗口过程函数   (1)设计一个窗口类 设计窗口类,这样的类型已经 ...

  8. 保存全局Crash报告&发送邮件

    上篇写到,将程序中没有处理到的crash信息保存到本地文件夹下.但是实际的情况是,你不可能总是将用户的设备拿过来.所以一般性的处理是,将crash reports发送到服务器或者邮箱.所以针对上篇的代 ...

  9. Vue-router浅析(二)

    一.导航守卫 经常在项目中,会对页面做一些权限控制,所以需要对路由变化做出处理,跳转或取消相应的路由. 导航:即路由发生变化.导航守卫即对路由变化做出处理.当然也分几种情况:对全局变化做处理.对&qu ...

  10. 细说React(一)

    React 是近期非常热门的一个前端开发框架. 这篇文章将介绍如何使用 React 来创建用户界面,希望能够起到抛砖引玉的效果. "React,  A JAVASCRIPT LIBRARY ...