UIPickerView 简单小结

一.UIPickerView

1.UIPickerView的常见属性

// 数据源(用来告诉UIPickerView有多少列多少行)

@property(nonatomic,assign) id<UIPickerViewDataSource> dataSource;

// 代理(用来告诉UIPickerView每1列的每1行显示什么内容,监听UIPickerView的选择)

@property(nonatomic,assign) id<UIPickerViewDelegate>   delegate;

// 是否要显示选中的指示器

@property(nonatomic)        BOOL                       showsSelectionIndicator;

// 一共有多少列

@property(nonatomic,readonly) NSInteger numberOfComponents;

2.UIPickerView的常见方法

// 重新刷新所有列

- (void)reloadAllComponents;

// 重新刷新第component列

- (void)reloadComponent:(NSInteger)component;

// 主动选中第component列的第row行

- (void)selectRow:(NSInteger)row inComponent:(NSInteger)component animated:(BOOL)animated;

// 获得第component列的当前选中的行号

- (NSInteger)selectedRowInComponent:(NSInteger)component;

3.数据源方法(UIPickerViewDataSource)

//  一共有多少列

- (NSInteger)numberOfComponentsInPickerView:(UIPickerView *)pickerView;

//  第component列一共有多少行

- (NSInteger)pickerView:(UIPickerView *)pickerView numberOfRowsInComponent:(NSInteger)component;

4.代理方法(UIPickerViewDelegate)

//  第component列的宽度是多少

- (CGFloat)pickerView:(UIPickerView *)pickerView widthForComponent:(NSInteger)component;

//  第component列的行高是多少

- (CGFloat)pickerView:(UIPickerView *)pickerView rowHeightForComponent:(NSInteger)component;

//  第component列第row行显示什么文字

- (NSString *)pickerView:(UIPickerView *)pickerView titleForRow:(NSInteger)row forComponent:(NSInteger)component;

//  第component列第row行显示怎样的view(内容)

- (UIView *)pickerView:(UIPickerView *)pickerView viewForRow:(NSInteger)row forComponent:(NSInteger)component reusingView:(UIView *)view;

//  选中了pickerView的第component列第row行

- (void)pickerView:(UIPickerView *)pickerView didSelectRow:(NSInteger)row inComponent:(NSInteger)component;

二.UIDatePicker

1.常见属性

// datePicker的显示模式

@property (nonatomic) UIDatePickerMode datePickerMode;

// 显示的区域语言

@property (nonatomic, retain) NSLocale   *locale;

2.监听UIDatePicker的选择

* 因为UIDatePicker继承自UIControl,所以通过addTarget:...监听

三.程序启动的完整过程

1.main函数

2.UIApplicationMain

* 创建UIApplication对象

* 创建UIApplication的delegate对象

openURL:

• UIApplication有个功能?十分强?大的openURL:?方法 - (BOOL)openURL:(NSURL*)url;

• openURL:?方法的部分功能有
? 打电话
UIApplication *app = [UIApplication sharedApplication];
[app openURL:[NSURL URLWithString:@"tel://10086"]];

? 发短信
[app openURL:[NSURL URLWithString:@"sms://10086"]];

? 发邮件
[app openURL:[NSURL URLWithString:@"mailto://[email protected]"]];

? 打开?一个??网?页资源
[app openURL:[NSURL URLWithString:@"http://ios.itcast.cn"]];

? 打开其他app程序

3.delegate对象开始处理(监听)系统事件(没有storyboard)

* 程序启动完毕的时候, 就会调用代理的application:didFinishLaunchingWithOptions:方法

* 在application:didFinishLaunchingWithOptions:中创建UIWindow

* 创建和设置UIWindow的rootViewController

* 显示窗口

3.根据Info.plist获得最主要storyboard的文件名,加载最主要的storyboard(有storyboard)

* 创建UIWindow

* 创建和设置UIWindow的rootViewController

* 显示窗口

程序的启动过程

infor.Plist中常见的key含义

  • 常见属性(红?色部分是?用?文本编辑器打开时看到的key)
  • ●  Localiztion native development region(CFBundleDevelopmentRegion)-本地化相关
  • ●  Bundle display name(CFBundleDisplayName)-程序安装后显?示的名称,限制在10-12个 字符,如果超出,将被显?示缩写名称
  • ●  Icon file(CFBundleIconFile)-app图标名称,?一般为Icon.png
  • ●  Bundle version(CFBundleVersion)-应?用程序的版本号,每次往App Store上发布?一个新
      版本时,需要增加这个版本号
    
  • ●  Main storyboard file base name(NSMainStoryboardFile)-主storyboard?文件的名称
  • ●  Bundle identifier(CFBundleIdentifier)-项?目的唯?一标识,部署到真机时?用到
时间: 2024-08-06 11:58:44

UIPickerView 简单小结的相关文章

iOS开发——高级UI之OC篇&amp;UIdatePicker&amp;UIPickerView简单使用

UIdatePicker&UIPickerView简单使用 /***********************************************************************************/ 一:UIdatePicker:(日期控件) 1.UIDatePicker什么时候用? 当用户选择日期的时候,一般弹出一个UIDatePicker给用户选择. 2.UIDatePickerios6和ios7/8的区别 下面看看使用封装的代码怎么去实现它: 因为这个比较简

软件导论第五周作业-------简单小结

简单小结: 一.JDBC简介 JDBC全称Java Data Base Connectivity(java数据库连接),可以为多种数据库提供统一的访问,是连接Java应用程序和数据库的桥梁,有了JDBC,Java就可以从数据库中读取.存储数据 二.JDBC编程步骤 1.加载驱动程序Class.forName(driverClass); 加载Mysql驱动:Class.forName("com.mysql.jdbc.Driver"); 加载Oracle驱动:Class.forName(&

ASP.NET MVC ViewData/ViewBag 简单小结

近期在项目中遇到一个问题,就是用ViewBag.Model存储匿名对象传递给View,但是需要根据条件给匿名对象添加属性,这个可真心不易,Google了一下发现很多方案都是动态编译神马的,感觉好高大上,最后也没采用,因为不知道动态编译的性能消耗大不大. 最后是自己简单研究了一下,在ViewBag.Model中存储了Dictionary<string, object>,在View通过Model[key]的方式可以正常读取相应的值,在此对ViewData和ViewBag的使用进行一个简单的小结:1

UIPickerView简单应用——省份/城市选择实现

UIPickerView的简单应用--省份/城市选择的实现 实现效果如图,左边为省份选择,右边选择省份对应的城市 数据plist形式如图 工程下载地址:工程下载 https://github.com/Nongchaozhe/UIPickerView-Province-city UIPickerView的实现重要还是两个代理协议中方法的实现 - (void)viewDidLoad { [super viewDidLoad]; [self loadData]; _pickView = [[UIPic

UIdatePicker&amp;UIPickerView简单使用

/***********************************************************************************/ 一:UIdatePicker:(日期控件) 1.UIDatePicker什么时候用? 当用户选择日期的时候,一般弹出一个UIDatePicker给用户选择. 2.UIDatePickerios6和ios7/8的区别 下面看看使用封装的代码怎么去实现它: 因为这个比较简单,所以这里只是简单给出了封装之后UIDatePicker的

UIPickerView简单选择器的基本使用

//创建一个类,实现UIPickerView的基本功能 #import "PickerViewController.h" // 遵守 UIPickerViewDataSource,UIPickerViewDelegate协议 @interface PickerViewController ()<UIPickerViewDataSource,UIPickerViewDelegate> // 声明一个简单选择器 @property (nonatomic,strong) UIPi

Android的Message机制(简单小结)

对于Android的Message机制主要涉及到三个主要的类,分别是Handler.Message.Looper:首先对每个类做一个简单介绍:然后再介绍所谓的Android的Message机制是如何实现的,最后给了一个示例. 一.介绍三个相关的类 1. Handler主要有两个用途:首先是可以定时处理或者分发消息,其次是可以添加一个执行的行为在其它线程中执行, 对于Handler中的方法,可以选择你关心的操作去覆盖它,处理具体的业务操作,常见的就是对消息的处理可以覆盖public voidhan

简单小结几个常见算法的大体实现思想

前言,今天笔试一题,只做了最后一题(输入A,B两字符串,比较是否相等).N年没有笔试了,想起一些还记的算法小结下. PS,想了几种,最后选择先建二叉查找树,再中序查找得有序字符,后循环比较方式. 排序 1.冒泡:从低往上选择临近比较排序: 2.插入:在剩下要排序数据中,选一个按顺序插入: 3.选择:在剩下要排序数据中,选个最值(最大或最小)插入: 4.快速:选择一参照值,从右左两边不断各自向对方移动.与查找值比大小,后交换值: 5.合并:先拆成有序,再比较合并: 6.堆排序:先建堆(上对于下),

藏地传奇真言专题简单小结

先来个传送门:藏地传奇-真言专题.话说搞这个专题也折腾了不少时间,看似简单的页面,实际也隐藏着大大小小的坑.下面请听我一一道来. 一.先从布局说起 真言专题页采用的布局是屡见不鲜的瀑布流.其实当时一接到这个需求的时候,第一反应是Github上搜插件库,因为关于瀑布流的JQ库实在是太多了.像KISSY的waterfall,像@Sebobo 的Wookmark-jQuery,像jQuery Masonry等,都是很简单易用的库.但体验过其中几个DEMO之后,发现其实都不符合需求的预期,于是决定自己写