Итак, я начал делать игру, и я хотел использовать индикатор выполнения в качестве панели состояния для многих разных вещей, и я не мог понять, почему он не обновлялся вообще. Однако он обновил функцию viewdidload. Вот код, который я использую.UIProgressView как панель состояния и обновление при нажатии кнопки. Swift
func updateHealthBars() {
hullHealthBar.setProgress(hullHealth/hullHealthMax, animated: true)
cannonsHealthBar.setProgress(cannonsHealth/cannonsHealthMax, animated: true)
sailsHealthBar.setProgress(sailsHealth/sailsHealthMax, animated: true)
crewHealthBar.setProgress(crewHealth/crewHealthMax, animated: true)
}
@IBAction func setSailButton(sender: AnyObject) {
if hullHealth > 0 {
hullHealth-=20
}
else if cannonsHealth > 0 {
cannonsHealth-=20
}
else if sailsHealth > 0 {
sailsHealth-=20
}
else if crewHealth > 0 {
crewHealth-=20
}
updateHealthBars()
}
Если кто-нибудь знает, что мне нужно сделать, чтобы обновить свое здоровье, когда я нажимаю кнопку, я был бы очень благодарен, потому что я пытался сделать это на некоторое время теперь без успеха. Я использую XCode 6.
Нет, это не проблема. Я пробовал это, и это не исправить. Переменные были с плавающей точкой с самого начала. Они просто не обновляются. – samando
проверить, будет ли 'hullHealthBar.setProgress (10.0/2.0, анимированный: true)' works – bsarrazin
Вы можете установить только значения прогресса от 0.0 до 1.0, которые будут иметь значение 5.0. – samando