iOS上的UIPickerView
我在iOS上开发这个UIPickle视图,我正在努力解决如何定制它,比如更改字体、字体大小、笔划颜色以及它们之间的间距。以下是我到目前为止得到的信息:iOS上的UIPickerView,ios,swift,uipickerview,Ios,Swift,Uipickerview,我在iOS上开发这个UIPickle视图,我正在努力解决如何定制它,比如更改字体、字体大小、笔划颜色以及它们之间的间距。以下是我到目前为止得到的信息: import UIKit class ViewController: UIViewController,UIPickerViewDataSource,UIPickerViewDelegate { var picker_arr :[String]! var com1_arr :[String]! var com2_arr
import UIKit
class ViewController: UIViewController,UIPickerViewDataSource,UIPickerViewDelegate {
var picker_arr :[String]!
var com1_arr :[String]!
var com2_arr :[String]!
@IBOutlet weak var picker: UIPickerView!
override func viewDidLoad() {
super.viewDidLoad()
picker_arr = ["12:45", "13:00","13:15","13:30","13:45"]
com2_arr = ["today","tomorrow"]
com1_arr = ["1 person", "2 people","3 people","4 people","5 people"]
}
func numberOfComponents(in pickerView: UIPickerView) -> Int {
return 3
}
func pickerView(_ pickerView: UIPickerView, numberOfRowsInComponent component: Int) -> Int {
if(component==0){
return com1_arr.count
}
if(component==1){
return com2_arr.count
}
return picker_arr.count
}
func pickerView(_ pickerView: UIPickerView, titleForRow row: Int, forComponent component: Int) -> String? {
if(component==0){
return com1_arr[row]
}
if(component==1){
return com2_arr[row]
}
return picker_arr[row]
}
}
如果您在
UIPickerViewDelegate
上阅读,您可以看到它说
此组中的方法标记为@optional。然而,使用
在选择器视图中,必须实现
pickerView(:titleForRow:forComponent:)或
pickerView(:viewForRow:forComponent:reusing:)方法提供
组件行的内容
您已选择使用
titleForRow
,但可能应该改用viewForRow
。这样,您就可以返回整个UILabel
,而不是返回字符串,并为其提供文本、字体、颜色等。阅读viewForRow
的用法如果您在UIPickerViewDeleteGate
上阅读,您可以看到它说
此组中的方法标记为@optional。然而,使用
在选择器视图中,必须实现
pickerView(:titleForRow:forComponent:)或
pickerView(:viewForRow:forComponent:reusing:)方法提供
组件行的内容
您已选择使用titleForRow
,但可能应该改用viewForRow
。这样,您就可以返回整个UILabel
,并将文本、字体、,颜色等。阅读viewForRow
的用法,或者使用attributedTitleForRow
代替viewForRow
。或者使用attributedTitleForRow
代替viewForRow
。