【发布时间】:2016-03-25 03:33:40
【问题描述】:
所以我觉得我在这方面花了很多时间。我有一个UIPickerView,它是通过带有UITextField 的InputView 以编程方式制作的。
我的问题是,我需要这些 UIPickerViews 在辞职第一响应者时有一个完成按钮!
如您所见,我尝试在工具栏上将 var climateToolBar 放在顶部,然后在 viewDidLoad 部分调用climateToolBar。
感谢您的帮助。
这是我的代码:
import UIKit
class ViewController: UIViewController,UIPickerViewDataSource,UIPickerViewDelegate {
@IBOutlet weak var climateText: UITextField!
@IBOutlet weak var environmentText: UITextField!
@IBOutlet weak var regionText: UITextField!
@IBOutlet weak var budgetText: UITextField!
var climatePicker = UIPickerView()
var environmentPicker = UIPickerView()
var regionPicker = UIPickerView()
var budgetPicker = UIPickerView()
var climateToolBar = UIToolbar()
//MARK: Arrays for PickerViews
var climates = ["Hot","Warm","Cold","Anywhere"]
var environment = ["Beach","City","Mountain","Rural", "Anywhere"]
var region = ["Central America","Carribean","Europe","North America","South America", "Anywhere"]
var budget = ["$0-$500","$501-$1000","$1001-$1500","$1501-$2500","$2501 and up"]
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.
climatePicker.tag = 0
environmentPicker.tag = 1
regionPicker.tag = 2
budgetPicker.tag = 3
climateText.inputView = climatePicker
climateText.inputAccessoryView = climateToolBar
environmentText.inputView = environmentPicker
regionText.inputView = regionPicker
budgetText.inputView = budgetPicker
climatePicker.delegate = self
environmentPicker.delegate = self
regionPicker.delegate = self
budgetPicker.delegate = self
climatePicker.dataSource = self
environmentPicker.dataSource = self
regionPicker.dataSource = self
budgetPicker.dataSource = self
climateToolBar = UIToolbar()
climateToolBar.barStyle = UIBarStyle.Default
climateToolBar.translucent = true
climateToolBar.sizeToFit()
}
func numberOfComponentsInPickerView(pickerView: UIPickerView) -> Int {
return 1
}
func pickerView(pickerView: UIPickerView, numberOfRowsInComponent component: Int) -> Int {
if climatePicker.tag == 0 {
return climates.count
} else if environmentPicker.tag == 1 {
return environment.count
} else if regionPicker.tag == 2 {
return region.count
} else if budgetPicker.tag == 3 {
return budget.count
}
return 1
}
func pickerView(pickerView: UIPickerView, titleForRow row: Int, forComponent component: Int) -> String? {
if pickerView.tag == 0 {
return climates[row]
} else if pickerView.tag == 1 {
return environment[row]
} else if pickerView.tag == 2 {
return region[row]
} else if pickerView.tag == 3 {
return budget[row]
}
return ""
}
func pickerView(pickerView: UIPickerView, didSelectRow row: Int, inComponent component: Int) {
if pickerView.tag == 0 {
climateText.text = climates[row]
} else if pickerView.tag == 1 {
environmentText.text = environment[row]
} else if pickerView.tag == 2 {
regionText.text = region[row]
} else if pickerView.tag == 3 {
budgetText.text = budget[row]
}
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
}
【问题讨论】:
标签: ios xcode uitextfield uipickerview toolbar