iOS-選擇器UIPickerView

前言:該選擇器為iOS自帶方法,可以用于任意需要選擇的界面,如時(shí)間、地址等的選擇,此處僅簡略介紹其用法。使用UIPickerView必須聲明協(xié)議,實(shí)現(xiàn)方法并設(shè)置代理。

UIPickerView的基本創(chuàng)建

1.UIPickerView的創(chuàng)建

    UIPickerView * myPickerView = [[UIPickerView alloc]init];
    myPickerView.frame = CGRectMake(0, HEIGHT_FOR_SCREEN - 150, WIDTH_FOR_SCREEN, 150);
  myPickerView.dataSource = self;
    myPickerView.delegate = self;
    myPickerView.showsSelectionIndicator = YES;
    myPickerView.backgroundColor = [UIColor lightGrayColor];
    [self.view addSubview:myPickerView];

以上寫法僅為展示

2.協(xié)議方法

#pragma mark-<UIPickerViewDataSource>
//設(shè)定分區(qū)數(shù),即該選擇器有多少個(gè)列
-(NSInteger)numberOfComponentsInPickerView:(UIPickerView *)pickerView{
    return pickerArray.count;
}
//設(shè)定每個(gè)分區(qū)內(nèi)的元素個(gè)數(shù)-(NSInteger)pickerView:(UIPickerView *)pickerViewnumberOfRowsInComponent:(NSInteger)component{   
NSArray * tmpArray = pickerArray[component];
    return tmpArray.count;
}
#pragma mark-<UIPickerViewDelegate>
//設(shè)置選擇器內(nèi)元素顯示的名字
- (NSString *)pickerView:(UIPickerView *)pickerView titleForRow:
(NSInteger)row forComponent:(NSInteger)component{
NSArray * tmpArray = pickerArray[component];
return [tmpArray objectAtIndex:row];
}
//選中選擇器元素(未撥動的部分為未選擇狀態(tài))
-(void)pickerView:(UIPickerView *)pickerView didSelectRow:
(NSInteger)row inComponent:(NSInteger)component{
//    [myTextField setText:[pickerArray objectAtIndex:row]];
NSArray * tmpArray = pickerArray[component];
switch (component) {
case 0:
yearStr = tmpArray[row];
break;
case 1:
monthStr = tmpArray[row];
break;
case 2:
dayStr = tmpArray[row];
break;
default:
break;
}
NSString * tmpTitleStr = [NSString stringWithFormat:@"%@ %@ %@",yearStr,monthStr,dayStr];
[myTimeButton setTitle:tmpTitleStr forState:(UIControlStateNormal)];
}

3.附注(數(shù)據(jù)部分):

yearArray = [[NSMutableArray alloc]initWithObjects:@"2015",@"2016",@"2017",@"2018",@"2019", nil];
monthArray = [[NSMutableArray alloc]initWithObjects:@"一月",@"二月",@"三月",@"四月", nil];
dayArray = [[NSMutableArray alloc]initWithObjects:@"1",@"2",@"3",@"4",@"5",@"6", nil];
pickerArray = [[NSMutableArray alloc]initWithObjects:yearArray,monthArray,dayArray, nil];
yearStr = [[NSString alloc]init];
monthStr = [[NSString alloc]init];
dayStr = [[NSString alloc]init];

附上相關(guān)資料,即UIPickerView常用的使用方法——與UITextField結(jié)合使用:選擇器的使用


二、UIPickerView的常用方法

通過component確定其下的行數(shù)(從0開始)

theRow = [_pickerview selectedRowInComponent:theComponent];

備注

第一部分內(nèi)容未使用markdown語法,代碼結(jié)構(gòu)比較混亂

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • UIPickerView也是一個(gè)選擇器控件,它比UIDatePicker更加通用,它可以生成單列的選擇器,也可生成...
    小蘑菇2閱讀 3,727評論 3 5
  • WebSocket-Swift Starscream的使用 WebSocket 是 HTML5 一種新的協(xié)議。它實(shí)...
    香橙柚子閱讀 24,754評論 8 183
  • 回到學(xué)校后生活又歸于寧靜,日子像是小溪水一樣緩緩地流淌,看起來悠閑但似乎又沒有一刻能停下來,偶爾也會想起表哥,跟他...
    但山遠(yuǎn)閱讀 2,998評論 9 10
  • 人生什么最重要?選擇! 什么決定選擇?價(jià)值觀。 價(jià)值觀是由多種原則概念組成的,要不斷打磨增加原則,形成系統(tǒng)的原則概...
    游博銘閱讀 274評論 0 0
  • Array中的方法 四個(gè)方面去學(xué)習(xí)數(shù)組的方法 方法的作用 是否傳遞參數(shù) 有沒有返回值 原數(shù)組是否發(fā)生改變 注意: ...
    不是王小賤閱讀 455評論 0 3

友情鏈接更多精彩內(nèi)容