UIDatePicker 和 UIPickerView
UIDatePicker
UIDatePicker:是一個控制器類,封裝了 UIPickerView,但是他是UIControl的子類,專門用於接受日期、時間和持續時長的輸入。日期選取器的各列會按照指定的風格進行自動配置,這樣就讓開發者不必關心如何配置錶盤這樣的底層操作。你也可以對其進行定製,令其使用任何範圍的日期。
UIDatePicker初始化:
UIDatePicker *datePicker = [[UIDatePicker alloc]initWithFrame:CGRectMake(30, 300, 0, 0)];
[datePicker addTarget:self action:@selector(dateChange:) forControlEvents:UIControlEventValueChanged];//新增觸發事件
[self.view addSubview:datePicker];
UIDatePicker常用設定
setLocale:設定地區[datePicker setLocale:[[NSLocale alloc]initWithLocaleIdentifier:@"zh_CN"]];
setCalendar:設定datePicker的日曆(預設為當天)[datePicker setCalendar:[NSCalendar currentCalendar]];
setDatePickerMode:設定時間模式,預設UIDatePickerModeDateAndTime[datePicker setDatePickerMode:UIDatePickerModeDate];
setCountDownDuration:設定倒數計時的秒數[datePicker setCountDownDuration:2*60];
setTimeZone:設定時區[datePicker setTimeZone:[NSTimeZone localTimeZone]];
設定最大,最小日期
//設定一個時間戳
NSTimeInterval timeInterval = 60;
NSDate *minDate = [[NSDate alloc]initWithTimeIntervalSinceNow:-timeInterval];
NSDate *maxDate = [[NSDate alloc]initWithTimeIntervalSinceNow:timeInterval];
//設定最大,最小日期
datePicker.minimumDate = minDate;
datePicker.maximumDate = maxDate;
設定分鐘間隔datePicker.minuteInterval = 5;
取出日期NSDate *select = datePicker.date;
UIPickerView
//初始化一個pickerView
UIPickerView *pickerView = [[UIPickerView alloc] initWithFrame:CGRectMake(0, 436, 414, 300)];
//設定背景色
pickerView.backgroundColor = [UIColor whiteColor];
//設定代理
pickerView.delegate = self;
pickerView.dataSource = self;
[self.view addSubView:pickerView];```
##UIPickerViewDataSource代理方法
-numberOfComponentsInPickerView:設定列的返回數量(必須實現)
- (NSInteger)numberOfComponentsInPickerView:(UIPickerView *)pickerView
{
return 3;
}```
-pickerView:numberOfRowsInComponent:設定列裡邊元件的個數 component:元件(必須實現)
- (NSInteger)pickerView:(UIPickerView *)pickerView numberOfRowsInComponent:(NSInteger)component
{
//如果是第一列
if (component == 0)
{
return 10;
}
//如果是第二列
else if (component == 1)
{
return 5;
}
else
{
return 3;
}
}```
##UIPickerViewDelegate代理方法
返回元件的標題:有三個方法都可以用,不同方法的返回值不同
- (NSString *)pickerView:(UIPickerView *)pickerView titleForRow:(NSInteger)row forComponent:(NSInteger)component {
if (component == 0) {
return @"第一列";
} else if (component == 1) {
return @"第二列";
} else {
return @"第三列";
}
}```
pickerView:didSelectRow:inComponent:選擇器選擇的方法 row:被選中的行
//選擇第一列執行的方法
if (component == 0) {
NSLog(@"1");
}
//選擇第二列執行的方法
else if (component == 1) {
NSLog(@"2");
}
else {
NSLog(@"3");
}
}```
pickerView:widthForComponent:設定元件的寬度
- (CGFloat)pickerView:(UIPickerView *)pickerView widthForComponent:(NSInteger)component
{
if (component == 0) {
return 100;
} else if (component == 1) {
return 200;
} else {
return 100;
}
}```
pickerView:rowHeightForComponent:設定列裡邊元件的高度
- (CGFloat)pickerView:(UIPickerView *)pickerView rowHeightForComponent:(NSInteger)component
{
if (component == 0) {
return 20;
} else if (component == 1) {
return 25;
} else {
return 30;
}
}```
相關文章
- 用UIPickerView簡單定製一個UIDatePickerUIView
- 01-UIPickerViewUIView
- iOS UIPickerView使用技巧iOSUIView
- 去掉UIPickerView的彎曲弧度UIView
- Swift 自定義 UIDatePickerSwiftUI
- iOS 控制元件之 UIDatePickeriOS控制元件UI
- UIDatePicker事件不響應問題UI事件
- IOS 自定義 UIDatePicker 背景圖片iOSUI
- IOS之UIDatePicker實現時間日期選擇iOSUI
- 給iOS開發新手送點福利,簡述UIDatePicker的用法iOSUI
- 自定義UIDatePicker,以後不用第三方的,想怎麼改就怎麼改~~~UI
- ../和./和/的區別
- 路徑中./和../和/
- !=和<>
- #和&
- linux中/bin和/sbin和/usr/bin和/usr/sbinLinux
- redis的安裝和啟動和檢測和停止Redis
- 深度解析 Delegate 和 Notification 和 KVO
- ♻️同步和非同步;並行和併發;阻塞和非阻塞非同步並行
- xftp和xshell,xftp和xshell的下載和安裝FTP
- 找工作學習筆記1------=和==、&和&&、|和||的區別筆記
- workman 和swoole 區別 和異同
- @NotEmpty和@NotBlank和@NotNull小結Null
- 檔案路徑問題( ./ 和 ../ 和 @/ )
- csv和excel讀取和下載Excel
- Cookie 和 Session 關係和區別CookieSession
- 堆和棧的概念和區別
- js中的typeof和instanceof和===JS
- hbase和zookeeper的安裝和部署
- JSF和Struts、Tiles Portlets和TapestryJS
- oracle中關於in和exists,not in 和 not existsOracle
- js == 和 ===JS
- 字首和
- XML基本操作-建立(DOM和LOINQ)和LINQ查詢和儲存XML
- 函式fgets和fputs、fread和fwrite、fscanf和fprintf用法小結函式
- DOORS和Reqtify — 需求管理和需求追溯工具QT
- Golang 陣列和切片 Slice 和 Map 使用Golang陣列
- count (*) 和 count (1) 和 count (列名) 區別