gpt4 book ai didi

ios - UITextField InputView 需要一个完成按钮

转载 作者:塔克拉玛干 更新时间:2023-11-02 09:24:24 25 4
gpt4 key购买 nike

所以我觉得我在这上面浪费了很多时间。我有一个 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.
}


}

最佳答案

这样添加:

let pickerView = UIPickerView(frame: CGRectMake(0, 200, view.frame.width, 300))
pickerView.backgroundColor = .whiteColor()
pickerView.showsSelectionIndicator = true

let 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()


let doneButton = UIBarButtonItem(title: "Done", style: UIBarButtonItemStyle.Bordered, target: self, action: "donePicker")
let spaceButton = UIBarButtonItem(barButtonSystemItem: UIBarButtonSystemItem.FlexibleSpace, target: nil, action: nil)
let cancelButton = UIBarButtonItem(title: "Cancel", style: UIBarButtonItemStyle.Bordered, target: self, action: "canclePicker")

toolBar.setItems([cancelButton, spaceButton, doneButton], animated: false)
toolBar.userInteractionEnabled = true

textField.inputView = pickerView
textField.inputAccessoryView = toolBar

关于ios - UITextField InputView 需要一个完成按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36213592/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com