0
最初のピッカーから項目を選択し、他のピッカーの項目を選択してボタンをクリックすると、結果がテキストフィールドに表示されます。どうやってやるの?ボタンと1つの結果を迅速に結ぶ2つのピッカー
すでに2つのピッカー、テキストフィールド、および1つのボタンが作成されています。たとえば、ユーザーが最初のスピナーから名前を、2番目のスピナーからidを選択すると、ボタンをクリックするとテキストビューに電話番号が表示されます。
これは私がこれまでにやったことです:
// // ViewController.swift // test001 // // Created by Ahmed N. on
7/14/1438 AH. // Copyright © 1438 Ahmed N. All rights reserved. //
import UIKit
class Viewkm: UIViewController,
UIPickerViewDataSource,UIPickerViewDelegate {
@IBOutlet weak var array1: UIPickerView!
@IBOutlet weak var array2: UIPickerView!
@IBOutlet weak var result: UITextField!
var array:NSArray = []
var array12:NSArray = []
override func viewDidLoad() {
super.viewDidLoad()
array = ["3","2","1"]
array12 = ["Nasser","meachal","Ahmed"]
// Do any additional setup after loading the view, typically from a nib.
}
func numberOfComponentsInPickerView(pickerView: UIPickerView) -> Int {
return 1
}
func pickerView(_ pickerView: UIPickerView, numberOfRowsInComponent component: Int) -> Int {
if (pickerView.tag == 1){
return array.count
}else{
return array12.count
}
}
func pickerView(_ pickerView: UIPickerView, titleForRow row: Int, forComponent component: Int) -> String? {
if (pickerView.tag == 1){
return "\(array[row])"
}else{
return "\(array12[row])"
}
}
public func numberOfComponents(in pickerView: UIPickerView) -> Int{
return 1
}
@IBAction func getResult(_ sender: UIButton) {
var select1 = array[array1.selectedRow(inComponent: 0)]
var select2 = array12[array2.selectedRow(inComponent: 0)]
if (select1 == "1") && (select2 = "Ahmed") {
getResult.setTitle("Telephone number...", result: .Normal)
}
}
}
**** ****アップデート
// // ViewController.swift // test001 // // Created by Ahmed N. on 7/14/1438 AH. // Copyright © 1438 Ahmed N. All
の権利を保有。 //
輸入のUIKit
//ここ++++++++++++++私の腸エラークラスViewkm: のUIViewController、
UIPickerViewDataSource、UIPickerViewDelegate {@IBOutlet weak var array1: UIPickerView! @IBOutlet weak var array2: UIPickerView! //this is a text failt that i want to set tge resut in @IBOutlet weak var result: UITextField! // i did these two var selectedRow1 : Int var selectedRow2 : Int var array:NSArray = [] var array12:NSArray = [] // array fo numbers var arrayNumbers:NSArray = [] override func viewDidLoad() { super.viewDidLoad() array = ["3","2","1"] array12 = ["Nasser","meachal","Ahmed"] arrayNumbers = ["400","500","4000"] } func pickerView(_ pickerView: UIPickerView, didSelectRow row: Int, inComponent component: Int) { if (pickerView.tag == 1){ self.selectedRow1 = row }else{ self.selectedRow1 = row } } override func didReceiveMemoryWarning() { super.didReceiveMemoryWarning() // Dispose of any resources that can be recreated. } func numberOfComponentsInPickerView(pickerView: UIPickerView) -> Int { return 1 } func pickerView(_ pickerView: UIPickerView, numberOfRowsInComponent component: Int) -> Int { if (pickerView.tag == 1){ return array.count }else{ return array12.count } } func pickerView(_ pickerView: UIPickerView, titleForRow row: Int, forComponent component: Int) -> String? { if (pickerView.tag == 1){ return "\(array[row])" }else{ return "\(array12[row])" } } public func numberOfComponents(in pickerView: UIPickerView) -> Int{ return 1 } @IBAction func getResult(_ sender: UIButton) { var select1 = array[self.selectedRow1] var select2 = array12[self.selectedRow2] // error syaed : binert opreater "==" cannot be applied to type "any" or "String" if (select1 == "1") && (select2 = "Ahmed") { //And you can show the number from array list // ******************** error sayed : cannot call value of non-function type String result.text("Telephone number...\(self.arrayNumber[self.selectedrow1])", result: .Normal) } } }
それは私がそのことについて – Ahmed
ボタンでエラーを腸私のために動作しません...リプレイしていただきありがとうございます。私も更新しました。 select配列[]とarray12 []のいずれかはAnyです。あなたは私の私の編集された答えを試してください。または配列を定義する必要があります: 'var配列:[String] = [] var array12:[String] = []' – Ahmed
私のミスで申し訳ありませんplsは更新を参照してください – bilaldogan