標籤:
1.UIPickerView
1.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;
1.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;
1.3. UIPickerViewDataSource (資料來源方法)
// 一共有多少列- (NSInteger)numberOfComponentsInPickerView:(UIPickerView *)pickerView;// 第component列一共有多少行- (NSInteger)pickerView:(UIPickerView *)pickerView numberOfRowsInComponent:(NSInteger)component;
1.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;
2. UIDatePicker
2.1.常見屬性
// datePicker的顯示模式@property (nonatomic) UIDatePickerMode datePickerMode;// 顯示的地區語言@property (nonatomic, retain) NSLocale *locale;
2.2.監聽UIDatePicker的選擇
* 因為UIDatePicker繼承自UIControl,所以可以通過addTarget:監聽
Objective - C 學習筆記:UIPickerView 和 UIDatePicker的基本使用