버튼을 사용하여 내 선택보기에서 데이터를 선택하고 싶습니다. 현재 내 코드는 단추를 사용하여 선택기보기를 닫지 만 단추는 선택기보기에서 아무 것도 선택하지 않습니다. 무언가가 선택되는 유일한 방법은 선택기보기를 사용하는 스크롤 일 경우입니다. 피커 뷰의 데이터를 제출하는 유일한 방법으로 내 버튼을 사용하려면 어떻게해야합니까?버튼을 사용하여 pickerview에서 데이터를 선택하는 방법 (swift4)
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.
picker.delegate = self
picker.dataSource = self
for textFieldObject in theScoreRound
{
textFieldObject.inputView = picker
let toolbar = UIToolbar(frame: CGRect(x: 0, y: UIApplication.shared.statusBarFrame.height, width: view.bounds.width, height: 44))
var items = [UIBarButtonItem]()
items.append(UIBarButtonItem(barButtonSystemItem: .flexibleSpace, target: self, action: nil))
items.append(UIBarButtonItem(barButtonSystemItem: .add, target: self, action: #selector(self.doneAction)))
items.append(UIBarButtonItem(barButtonSystemItem: .flexibleSpace, target: self, action: nil))
toolbar.items = items
let fs = UIBarButtonItem(barButtonSystemItem: UIBarButtonSystemItem.flexibleSpace, target: nil, action: nil)
let db = UIBarButtonItem(barButtonSystemItem: UIBarButtonSystemItem.done, target: self, action: #selector(self.doneAction))
toolbar.setItems([fs,db],animated: false)
textFieldObject.inputAccessoryView = toolbar
}}
@objc func doneAction(){
view.endEditing(true)
}
public func numberOfComponents(in pickerView: UIPickerView) -> Int {
return 1
}
public func pickerView(_ pickerView: UIPickerView, numberOfRowsInComponent component: Int) -> Int {
return numberX.count
}
func pickerView(_ pickerView: UIPickerView, titleForRow row: Int, forComponent component: Int) -> String? {
return numberX[row]
}
public func pickerView(_ pickerView: UIPickerView, didSelectRow row: Int, inComponent component: Int) {
for textField in theScoreRound {
if textField.isEditing {
textField.text = numberX[row]
}
}
self.view.endEditing(false)
}
@IBAction func enterScore(_ sender: Any) {
var total = 0
for view in theScoreRound {
if let text = view.text, let num = Int(text) {
total += num
}
}
fighterAScore.text = String(total)
}
'self.pickerView.selectedRow (inComponent : <#T##Int#>)'메소드를 사용하여 컴포넌트에서 선택된 행을 얻고 UIPick을 사용해야한다. erDataSource 당신은 어떤 함수에 값을 –
넣을 수 있습니까? –
UIButton 액션에서는 원하는 경우 몇 가지 예를 제공 할 수 있습니다. –