如何重新加载选择器视图?
How to reload a picker view?
@IBAction func nextTurn(sender: AnyObject) {
if numberOfTurn < (playersForPicker.count-1) {
numberOfTurn++
}else{
numberOfTurn = 0
}
titleForTwo.title = playersForPicker[numberOfTurn]
var lostPlayer = playersForPicker[numberOfTurn]
titleForTwo.title = playersForPicker[numberOfTurn]
playersForPicker.removeAtIndex(numberOfTurn)
playerPicker.reloadAllComponents()
playersForPicker.insert(lostPlayer, atIndex: numberOfTurn)
startButton.setTitle("Next Turn", forState: UIControlState())
}
playerPicker 不会重新加载或更改,因此我需要有关如何在单击按钮时刷新或重新加载选择器视图的帮助。
为什么要改变?您正在删除 playersForPicker[numberOfTurn],但您将 lostPlayer 设置为相同的值,然后将其添加回数组中的相同位置。数组没有改变,所以你的选择器也不会。您正在正确地重新加载您的选择器视图。如果注释掉插入 lostPlayer 的行,您应该会看到该项目从选取器中消失。
@IBAction func nextTurn(sender: AnyObject) {
if numberOfTurn < (playersForPicker.count-1) {
numberOfTurn++
}else{
numberOfTurn = 0
}
titleForTwo.title = playersForPicker[numberOfTurn]
var lostPlayer = playersForPicker[numberOfTurn]
titleForTwo.title = playersForPicker[numberOfTurn]
playersForPicker.removeAtIndex(numberOfTurn)
playerPicker.reloadAllComponents()
playersForPicker.insert(lostPlayer, atIndex: numberOfTurn)
startButton.setTitle("Next Turn", forState: UIControlState())
}
playerPicker 不会重新加载或更改,因此我需要有关如何在单击按钮时刷新或重新加载选择器视图的帮助。
为什么要改变?您正在删除 playersForPicker[numberOfTurn],但您将 lostPlayer 设置为相同的值,然后将其添加回数组中的相同位置。数组没有改变,所以你的选择器也不会。您正在正确地重新加载您的选择器视图。如果注释掉插入 lostPlayer 的行,您应该会看到该项目从选取器中消失。