Swift:如何在Swift中使用三个组件设置UIPickerView的默认值?

KML*_*KML 30 uipickerview swift

如何在Swift中设置选择器视图的起始行?我看到有一个Objective C的代码,但我不明白.如果有人能解释我如何将Objective C代码翻译成Swift,这也很棒!

谢谢

小智 87

这是我在其中一个应用中使用的代码:

// Declare the outlet to the picker in your storyboard
@IBOutlet var myPicker: UIPickerView!

//...

override func viewDidLoad() {
//...
    myPicker.selectRow(row, inComponent: 0, animated: true)
}
Run Code Online (Sandbox Code Playgroud)

显然,更换row0使用任何你想要的值.

希望这可以帮助!


Jit*_*rni 13

@IBOutlet weak var mPicker: UIPickerView!
var items: [String] = ["NoName1","NoName2","NoName3"] // Set through another ViewController
var itemAtDefaultPosition: String?  //Set through another ViewController

//..
//..

var defaultRowIndex = find(items,itemAtDefaultPosition!)
if(defaultRowIndex == nil) { defaultRowIndex = 0 }
mPicker.selectRow(defaultRowIndex!, inComponent: 0, animated: false)
Run Code Online (Sandbox Code Playgroud)

  • 对于swift 2.0:var defaultRowIndex = items.indexOf(itemAtDefaultPosition!) (4认同)

STe*_*ier 5

环球银行金融电信协会5

函数“SetDefaultValue”将通过在用于填充选取器视图的 pickerData 中查找项目位置,将 pickerView 定位在所需的字符串上。在此示例中,它将是“项目 2”

var pickerView = UIPickerView()
var pickerData = ["item 1","item 2","item 3","item 4","item 5"]
var defaultItem = "item 2"

func setDefaultValue(item: String, inComponent: Int){
 if let indexPosition = pickerData.firstIndex(of: item){
   pickerView.selectRow(indexPosition, inComponent: inComponent, animated: true)   
 }
}
Run Code Online (Sandbox Code Playgroud)