【发布时间】:2020-06-11 14:48:56
【问题描述】:
我是一个初学者,我正在做这个,我注意到选择器视图没有排序
土耳其语之后显然没有中文,那我该如何整理呢?我一直在查看我的代码几个小时,似乎无法弄清楚如何对其进行排序。这是我的完整代码。
谢谢
import AVFoundation
import UIKit
class SettingsView: UIViewController, UIPickerViewDelegate, UIPickerViewDataSource {
@IBOutlet var pickerView: UIPickerView!
var voicesArray: [String] = []
let speechVoices = AVSpeechSynthesisVoice.speechVoices()
override func viewDidLoad() {
super.viewDidLoad()
pickerView.delegate = self
pickerView.dataSource = self
}
func numberOfComponents(in pickerView: UIPickerView) -> Int {
return 1
}
func pickerView(_ pickerView: UIPickerView, numberOfRowsInComponent component: Int) -> Int {
return speechVoices.count
}
func pickerView(_ pickerView: UIPickerView, titleForRow row: Int, forComponent component: Int) -> String? {
let language = Locale.current.localizedString(forLanguageCode: speechVoices[row].language)!
let languageCode = speechVoices[row].language
var regionCode:String = ""
for region in Locale.isoRegionCodes {
// Test if provided region codes has voices or not
if languageCode.contains(region) {
regionCode = region
}
}
let country = Locale.current.localizedString(forRegionCode: String(regionCode))
return "\(language) (\(country ?? ""))"
}
@IBAction func done(_ sender: UIButton) {
dismiss(animated: true, completion: nil)
}
}
【问题讨论】:
标签: swift avfoundation uipickerview avspeechsynthesizer