UIPickerView
에서 int
을 읽으려고합니다. 이미 해봤지만 UILabel
에만 인쇄되었습니다. 이번에는 각 번호마다 소리를 낼 수 있도록 데이터가 필요하므로 큐 아나운서를 만들 수 있습니다 (3 자리 숫자 UIPickerView
이고 "001"에서 "999"까지 시작합니다.) 코드를 알지 못하는지 확인하십시오. 각 구성 요소의 선택한 번호가 사운드입니다 (이미 AVFoundation
을 통해 사운드를 가져 왔지만 코드에 붙여 넣지는 않습니다). 그리고 주석에서 언급했듯이 변환은 내 문제가 아닙니다. . 여기에 새로운 내가 지금까지 가지고있는 것입니다.스위프트 : UIPickerVIew에서 읽기
import UIKit
import AVFoundation
class ViewController: UIViewController, UIPickerViewDataSource, UIPickerViewDelegate {
//Picker View Settings
@IBOutlet weak var label: UILabel!
@IBOutlet weak var pickerView: UIPickerView!
let numbers = ["0", "1", "2", "3", "4", "5", "6", "7", "8", "9"]
func numberOfComponents(in pickerView: UIPickerView) -> Int {
return 3
}
func pickerView(_ pickerView: UIPickerView, titleForRow row: Int, forComponent component: Int) -> String? {
return numbers[row]
}
func pickerView(_ pickerView: UIPickerView, numberOfRowsInComponent component: Int) -> Int {
return numbers.count
}
func pickerView(_ pickerView: UIPickerView, didSelectRow row: Int, inComponent component: Int) {
let val1 = numbers[pickerView.selectedRow(inComponent: 0)]
let val2 = numbers[pickerView.selectedRow(inComponent: 1)]
let val3 = numbers[pickerView.selectedRow(inComponent: 2)]
label.text = "\(val1) \(val2) \(val3)"
}
//"Next" Button Setting
fileprivate func num(_ i: Int) -> Int {
return pickerView.selectedRow(inComponent: i)
}
@IBAction func buttonPressed() {
let currentNum = num(0) * 100 + num(1) * 10 + num(2)
let nextNum = currentNum + 1
pickerView.selectRow(nextNum % 1000/100, inComponent: 0, animated: true)
pickerView.selectRow(nextNum % 100/10, inComponent: 1, animated: true)
pickerView.selectRow(nextNum % 10, inComponent: 2, animated: true)
changeLabelText()
}
fileprivate func changeLabelText() {
label.text = "\(num(0)) \(num(1)) \(num(2))"
}
//Announcer Button
@IBAction func soundPlayed(_ sender: Any) {
//Don't have any function yet, because of my question.
}
가능한 복제 [스위프트 - int로 문자열 변환 (https://stackoverflow.com/questions/24115141/swift-converting-string-to-int) – Losiowaty
래 난 아무것도 변환하고 싶지 않아 무엇이든. 내가 소리를 재생하는 것처럼 그들에 대한 함수를 실행하는 방식으로 pickerview에서 int를 "읽는"방법을 찾고 있습니다. 아나운서가 말하는 것을 들었습니다 : 34 번 콘솔에서 34 번까지? 그게 내가하려는 일이야. @Losiowaty – Shahin