如何以编程方式为选择器视图设置标签?
How to set tag for picker view programmatically?
我正在使用 swift 构建 iOS 应用程序。
在我的 viewcontroller 中,我需要 6 个选择器视图。
之前我使用 IB 创建了 PickerViews。
现在我想以编程方式进行,因为我想实现完成和取消按钮。
我创建了一个示例项目,checked.There我正在显示 pickerview。
但在我原来的应用程序中它不起作用。
可能是采摘者人数较多
并且每次选择器的标签值都显示为零。
我试过这样设置标签值,
pickerView.tag == 2
这是创建选择器的代码
func createPicker1(){
var pickerView = UIPickerView(frame: CGRectMake(0, 200, view.frame.width, 300))
pickerView.tag == 2
pickerView.backgroundColor = .greenColor()
pickerView.delegate = self
pickerView.dataSource = self
pickerView.showsSelectionIndicator = true
var toolBar = UIToolbar()
toolBar.barStyle = UIBarStyle.Default
toolBar.translucent = true
toolBar.tintColor = UIColor(red: 76/255, green: 217/255, blue: 100/255, alpha: 1)
toolBar.sizeToFit()
println(pickerView.tag)
var doneButton = UIBarButtonItem(title: "Done", style: UIBarButtonItemStyle.Plain, target: self, action: "donePicker1")
var spaceButton = UIBarButtonItem(barButtonSystemItem: UIBarButtonSystemItem.FlexibleSpace, target: nil, action: nil)
var cancelButton = UIBarButtonItem(title: "Cancel", style: UIBarButtonItemStyle.Plain, target: self, action: "canclePicker1")
toolBar.setItems([cancelButton, spaceButton, doneButton], animated: false)
toolBar.userInteractionEnabled = true
pwrd.inputView = pickerView
pwrd.inputAccessoryView = toolBar
}
这些是我的选择器方法。
func numberOfComponentsInPickerView(pickerView: UIPickerView) -> Int {
return 1
}
func pickerView(pickerView: UIPickerView, numberOfRowsInComponent component: Int) -> Int {
if (pickerView.tag == 0){
return categories.count
}
else
{
return skillNeeded.count
}
}
func pickerView(pickerView: UIPickerView, titleForRow row: Int, forComponent component: Int) -> String! {
if (pickerView.tag == 0) {
return categories[row]
}
else{
return skillNeeded[row]
}
}
func pickerView(pickerView: UIPickerView, didSelectRow row: Int, inComponent component: Int)
{
if (pickerView.tag == 0) {
user.text = categories[row]
}
else {
pwrd.text = skillNeeded[row]
}
}
Thanks.Your 帮助将不胜感激。
您没有使用 ==
设置值
尝试pickerView.tag = 2
我正在使用 swift 构建 iOS 应用程序。
在我的 viewcontroller 中,我需要 6 个选择器视图。
之前我使用 IB 创建了 PickerViews。
现在我想以编程方式进行,因为我想实现完成和取消按钮。
我创建了一个示例项目,checked.There我正在显示 pickerview。
但在我原来的应用程序中它不起作用。
可能是采摘者人数较多
并且每次选择器的标签值都显示为零。
我试过这样设置标签值,
pickerView.tag == 2
这是创建选择器的代码
func createPicker1(){
var pickerView = UIPickerView(frame: CGRectMake(0, 200, view.frame.width, 300))
pickerView.tag == 2
pickerView.backgroundColor = .greenColor()
pickerView.delegate = self
pickerView.dataSource = self
pickerView.showsSelectionIndicator = true
var toolBar = UIToolbar()
toolBar.barStyle = UIBarStyle.Default
toolBar.translucent = true
toolBar.tintColor = UIColor(red: 76/255, green: 217/255, blue: 100/255, alpha: 1)
toolBar.sizeToFit()
println(pickerView.tag)
var doneButton = UIBarButtonItem(title: "Done", style: UIBarButtonItemStyle.Plain, target: self, action: "donePicker1")
var spaceButton = UIBarButtonItem(barButtonSystemItem: UIBarButtonSystemItem.FlexibleSpace, target: nil, action: nil)
var cancelButton = UIBarButtonItem(title: "Cancel", style: UIBarButtonItemStyle.Plain, target: self, action: "canclePicker1")
toolBar.setItems([cancelButton, spaceButton, doneButton], animated: false)
toolBar.userInteractionEnabled = true
pwrd.inputView = pickerView
pwrd.inputAccessoryView = toolBar
}
这些是我的选择器方法。
func numberOfComponentsInPickerView(pickerView: UIPickerView) -> Int {
return 1
}
func pickerView(pickerView: UIPickerView, numberOfRowsInComponent component: Int) -> Int {
if (pickerView.tag == 0){
return categories.count
}
else
{
return skillNeeded.count
}
}
func pickerView(pickerView: UIPickerView, titleForRow row: Int, forComponent component: Int) -> String! {
if (pickerView.tag == 0) {
return categories[row]
}
else{
return skillNeeded[row]
}
}
func pickerView(pickerView: UIPickerView, didSelectRow row: Int, inComponent component: Int)
{
if (pickerView.tag == 0) {
user.text = categories[row]
}
else {
pwrd.text = skillNeeded[row]
}
}
Thanks.Your 帮助将不胜感激。
您没有使用 ==
设置值尝试pickerView.tag = 2