0
我正在製作一個應用程序,用戶可以選擇在同一個視圖控制器中使用兩個UIPickers。如何才能做到這一點。我想要一個選擇器顯示海灘名稱,另一個顯示海灘上居住的動物。在同一個UIViewcontroller中的兩個採樣器
感謝您的幫助
我正在製作一個應用程序,用戶可以選擇在同一個視圖控制器中使用兩個UIPickers。如何才能做到這一點。我想要一個選擇器顯示海灘名稱,另一個顯示海灘上居住的動物。在同一個UIViewcontroller中的兩個採樣器
感謝您的幫助
這裏有一個快速指導,這樣做:
1.Initialize採摘和選擇器數據集類:
var pickerView1 = UIPickerView()
var pickerView2 = UIPickerView()
var pickerView1Data: [String] = ["Waikiki", "Long Beach", ...]
var pickerView2Data: [String] = ["Crab", "Seal", ...]
2.設置代表,數據來源和標籤(在viewDidLoad中)。行
pickerView1.dataSource = self
pickerView1.delegate = self
pickerView1.tag = 1
pickerView2.dataSource = self
pickerView2.delegate = self
pickerView2.tag = 2
3.設定數
func pickerView(pickerView: UIPickerView, numberOfRowsInComponent component: Int) -> Int {
var returnIndex: Int = 0
if pickerView.tag == 1 {
returnIndex = pickerView1Data.count
} else if pickerView.tag == 2 {
returnIndex = pickerView2Data.count
}
return returnIndex
}
4.Return爲每一行
func pickerView(pickerView: UIPickerView, titleForRow row: Int, forComponent component: Int) -> String? {
var returnRow: String!
if pickerView.tag == 1 {
returnRow = pickerView1Data[row]
} else if pickerView.tag == 2 {
returnRow = pickerView2Data[row]
}
return returnRow
}
5.Capture pickerView選擇
func pickerView(pickerView: UIPickerView, didSelectRow row: Int, inComponent component: Int) {
// This method is triggered whenever the user makes a change to the picker selection.
if pickerView.tag == 1 {
beachTextField.text = pickerView1Data[row]
} else if pickerView.tag == 2 {
animalTextField.text = pickerView2Data[row]
}
}
當然數據,這在你的一切之上可以設置拾取器視圖,但這應該是所有需要關注的兩個拾取器視圖。
使用兩個有什麼問題?你是否在如何處理委託方法中的挑選問題上掙扎? –
是的,我不知道如何設置一個數組到單獨的採摘器@IanMoses – Sam
委託方法包括UIPickerView作爲參數。您可以爲每個UIPicker分配一個標籤值,並在每個委託方法中檢查標籤值。例如:switch pickerView.tag {case pickerOneTagValue://在此處執行某些操作case pickerTwoTagValue://在此處執行其他操作default:break} –