UIPickerView的使用 三

2021-09-08 17:51:48 字數 1937 閱讀 8874

前兩篇文章 uipickerview的使用(一)  、 uipickerview的使用(二),學習了uipickerview的單列選擇器和雙列選擇器的使用。

現在我們一起學習相互依賴的多列選擇器

uipickerviewdatasource中定義的方法,該方法的返回值決定該控制項包含的列數

- (nsinteger)numberofcomponentsinpickerview:(uipickerview*)pickerview

//uipickerviewdatasource中定義的方法,該方法的返回值決定該控制項指定列包含多少個列表項

- (nsinteger)pickerview:(uipickerview *)pickerview numberofrowsincomponent:(nsinteger)component

else

return

[[_teams objectforkey:_selectedareas]count];

}//uipickerviewdelegate中定義的方法,該方法返回的nsstring將作為uipickerview

//中指定列和列表項的標題文字

- (nsstring *)pickerview:(uipickerview *)pickerview

titleforrow:(nsinteger)row forcomponent:(nsinteger)component

return

[[_teams objectforkey:_selectedareas]objectatindex:row];

}//當使用者選中uipickerviewdatasource中指定列和列表項時激發該方法

- (void)pickerview:(uipickerview *)pickerview didselectrow:(nsinteger)row incomponent:(nsinteger)component

nsarray *tmp = component == 0 ?_areas: [_teams objectforkey:_selectedareas];

nsstring *tip = component == 0 ? @"

區域":@"球隊"

;

//使用乙個uialertview來顯示使用者選中的列表項

uialertview* alert =[[uialertview alloc]

initwithtitle:

@"提示

"message:[nsstring stringwithformat:

@"你選中的%@是:%@

", tip ,[ tmp objectatindex:row]]

delegate

:nil

cancelbuttontitle:

@"確定

"otherbuttontitles:nil];

[alert show];}//

uipickerviewdelegate中定義的方法,該方法返回的nsstring將作為

//uipickerview中指定列的寬度

-(cgfloat)pickerview:(uipickerview *)pickerview

widthforcomponent:(nsinteger)component

return

210; //

如果是其他列(只有第二列),寬度為210

}效果圖:

UIPickerView的使用 二

上篇文章 uipickerview的使用 一 學習了如何建立單列選擇器,現在看一下如何建立多列選擇器 多列選擇器 以二列為例 uipickerviewdatasource中定義的方法,該方法的返回值決定該控制項包含的列數 nsinteger numberofcomponentsinpickervie...

UIPickerView的使用 三

前兩篇文章 uipickerview的使用 一 uipickerview的使用 二 學習了uipickerview的單列選擇器和雙列選擇器的使用。現在我們一起學習相互依賴的多列選擇器 uipickerviewdatasource中定義的方法,該方法的返回值決定該控制項包含的列數 nsinteger ...

UIPickerView的使用 二

上篇文章 uipickerview的使用 一 學習了如何建立單列選擇器,現在看一下如何建立多列選擇器 多列選擇器 以二列為例 uipickerviewdatasource中定義的方法,該方法的返回值決定該控制項包含的列數 nsinteger numberofcomponentsinpickervie...