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对象

3.delegate对象开始处理(监听)系统事件(没有storyboard)
* 程序启动完毕的时候, 就会调用代理的application:didFinishLaunchingWithOptions:方法
* 在application:didFinishLaunchingWithOptions:中创建UIWindow
* 创建和设置UIWindow的rootViewController
* 显示窗口

3.根据Info.plist获得最主要storyboard的文件名,加载最主要的storyboard(有storyboard)
* 创建UIWindow
* 创建和设置UIWindow的rootViewController
* 显示窗口

时间: 2024-10-10 13:20:47

UIPickerView,程序启动的完整过程的相关文章

UIPickerView/UIDatePicker/程序启动的完整过程

一.UIPickerView 1.UIPickerView的常见属性 数据源(用来告诉UIPickerView有多少列多少行) @property(nonatomic,assign) id<UIPickerViewDataSource> dataSource; 代理(用来告诉UIPickerView每1列的每1行显示什么内容,监听UIPickerView的选择) @property(nonatomic,assign) id<UIPickerViewDelegate>   deleg

41-50(UIApplication和delegate,UIApplicationMain,UIWindow,程序启动的完整过程,控制器view的延迟加载)

41.UIApplication和delegate 42.UIPickerView 43.UIDatePicker 44.程序启动的完整过程 45.UIApplicationMain 46.UIWindow 47.如何创建一个控制器 48.控制器view的延迟加载 49.多控制器 50.UINavigationController的使用步骤 { 这几天一直在赶项目, 今天终于闲下来了! 今天是个好日子,空间里满天的2014520 那么来看看我们程序员的爱情吧! 爱情就是死循环,一旦执行就陷进去了

五、程序启动的完整过程

程序启动的完整过程: 1.先执行main函数,main内部会调用UIApplicationMain函数,该函数的声明如下: int UIApplicationMain(int argc, char argv[], NSString principalClassName, NSString *delegateClassName). argc.argv:标准main函数的参数,直接传递给UIApplicationMain进行相关处理即可 principalClassName:指定应用程序类,该类必须

程序启动的完整过程

程序启动的完整过程 int main(int argc, char * argv[]) { @autoreleasepool { return UIApplicationMain(argc, argv, nil, NSStringFromClass([MJAppDelegate class])); } } 执行顺序 1.main函数 2.UIApplicationMain 创建UIApplication对象 创建UIApplication的delegate对象 3.开启主运行循环 3(1).de

Objective - C 学习笔记:程序启动的完整过程

1. main函数 2. UIApplicationMain * 创建UIApplication对象 * 创建UIApplication的delegate对象 3.1 delegate代理开始处理(监听)系统事件  (没有storyboard) * 程序启动完毕的时候, 就会调用代理的application:didFinishLaunchingWithOptions:方法 * 在application:didFinishLaunchingWithOptions:中创建UIWindow * 创建和

iOS程序启动的完整过程

1.main函数 2.UIApplicationMain* 创建UIApplication对象* 创建UIApplication的delegate对象 3.delegate对象开始处理(监听)系统事件(没有storyboard)* 程序启动完毕的时候, 就会调用代理的application:didFinishLaunchingWithOptions:方法* 在application:didFinishLaunchingWithOptions:中创建UIWindow* 创建和设置UIWindow的

程序启动和运行过程

摘抄自:http://www.cnblogs.com/kenshincui/p/3890880.html#runProcess 程序的运行过程 在几乎所有的程序开发中程序一般都是从main函数开始运行的,那么IOS程序也不例外,在上图中我们可以看到Xcode为我们生成了一个main.m文件: // // main.m // FirstIOS // // Created by Kenshin Cui on 14-2-23. // Copyright (c) 2014年 Kenshin Cui. A

IOS 应用程序启动加载过程(从点击图标到界面显示)

今天帮同事解决问题的时候发现,造成程序BUG的原因是同事对程序的启动和试图的加载过程不熟悉.所以当局部代码没有问题,但是程序一运行却总不是我们想要结果的时候,我们应该想想是不是因为我们忽略了试图加载过程的原因.下面我们用一个例子来简单介绍一下启动过程中常见的几个方法.首先我们通过XIB 创建了一个试图控制器(名字叫Empty ,不要问我为为啥它叫这个名字,因为我太懒了,鼠标点快了就没去该),又创建了一个UIView的子类(MyView),并且将Empty的对象 设置为窗口的跟控制器,MyView

005-iOS App程序启动过程

掌握 • 1.项目中常见文件(Info.plist和pch文件的作用) • 2.UIApplication • 3.AppDelegate的代理方法 • 4.iOS程序的完整启动过程(UIApplication.AppDelegate.UIWindow.UIViewController的关系) • 1.项目中常见文件(Info.plist和pch文件的作用) Info.plist 1>Info.plist常见的设置 •建立一个工程后,会在Supporting files文件夹下看到一个“工程名-