UIPickerView的應(yīng)用 ?

前言:UIPickerView 是一個(gè)選擇器控件, 它可以生成單列的選擇器,也可生成多列的選擇器,而且開發(fā)者完全可以自定義選擇項(xiàng)的外觀,因此用法非常靈活。 UIPickerView 直接繼承了 UIView ,沒有繼承 UIControl ,因此,它不能像 UIControl 那樣綁定事件處理方法, UIPickerView 的事件處理由其委托對(duì)象完成。

numberOfComponents:獲取UIPickerView指定列中包含的列表項(xiàng)的數(shù)量。該屬性是一個(gè)只讀屬性。

showsSelectionIndicator:該屬性控制是否顯示UIPickerView中的選中標(biāo)記(以高亮背景作為選中標(biāo)記)。

numberOfRowsInComponent:獲取UIPickerView包含的列數(shù)量。

rowSizeForComponent:獲取UIPickerView包含的指定列中列表項(xiàng)的大小。該方法返回一個(gè)CGSize對(duì)象。

selectRow:inComponent:animated::該方法設(shè)置選中該UIPickerView中指定列的特定列表項(xiàng)。最后一個(gè)參數(shù)控制是否使用動(dòng)畫。

selectedRowInComponent::該方法返回該UIPickerView指定列中被選中的列表項(xiàng)。

viewForRow:forComponent::該方法返回該UIPickerView指定列的列表項(xiàng)所使用的UIView控件。

UIDatePicker控件只是負(fù)責(zé)該控件的通用行為,而該控件包含多少列,各列包含多少個(gè)列表項(xiàng)則由UIPickerViewDataSource對(duì) 象負(fù)責(zé)。開發(fā)者必須為UIPickerView設(shè)置UIPickerViewDataSource對(duì)象,并實(shí)現(xiàn)如下兩個(gè)方法。

numberOfComponentsInPickerView::該UIPickerView將通過該方法來判斷應(yīng)該包含多少列。

pickerView:numberOfRowsInComponent::該UIPickerView將通過該方法判斷指定列應(yīng)該包含多少個(gè)列表項(xiàng)。

如果程序需要控制UIPickerView中各列的寬度,以及各列中列表項(xiàng)的大小和外觀,或程序需要為UIPickerView的選中事件提供響應(yīng),都需 要為UIPickerView設(shè)置UIPickerViewDelegate委托對(duì)象,并根據(jù)需要實(shí)現(xiàn)該委托對(duì)象中的如下方法。

pickerView:rowHeightForComponent::該方法返回的CGFloat值將作為該UIPickerView控件中指定列中列表項(xiàng)的高度。

pickerView:widthForComponent::該方法返回的CGFloat值將作為該UIPickerView控件中指定列的寬度。

pickerView:titleForRow:forComponent::該方法返回的NSString值將作為該UIPickerView控件中指定列的列表項(xiàng)的文本標(biāo)題。

pickerView:viewForRow:forComponent:reusingView::該方法返回的UIView控件將直接作為該UIPickerView控件中指定列的指定列表項(xiàng)。

pickerView:didSelectRow:inComponent::當(dāng)用戶單擊選中該UIPickerView控件的指定列的指定列表項(xiàng)時(shí)將會(huì)激發(fā)該方法

Interface Builder只支持為UIPickerView設(shè)置一個(gè)屬性——Shows Selection Indicator,該屬性用于控制是否顯示UIPickerView中的選中標(biāo)記(以高亮背景作為選中標(biāo)記)。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

推薦閱讀更多精彩內(nèi)容