UIPickerView/UIApplication,uipickerview

來源:互聯網
上載者:User

UIPickerView/UIApplication,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

* 顯示視窗

 

/********************************/

四、UIApplication來管理狀態列

1、修改Info.plist的檔案:添加View controller-based status bar appearance, 並設定Boolean為NO

2、UIApplication的相關方法:

 

UIApplication *app = [UIApplication sharedApplication];

[app openURL:[NSURL URLWithString:@"tel://10086"]];

 

發簡訊

[app openURL:[NSURL URLWithString:@"sms://10086"]];

 

發郵件

[app openURL:[NSURL URLWithString:@"mailto://12345@qq.com"]];

 

開啟一個網頁資源

[app openURL:[NSURL URLWithString:@"http://ios.itcast.cn"]];

 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.