问题描述
所以我创建了两个函数(nenuProgressButton & nenuSurvivalButton) 我希望 nenuProgressButton 在单击时为进度条提供 0.1,并在选择 UIalert 上的操作标题时 nenuSurvival 添加 0.5。我可以让大部分工作正常工作,但是当我选择“应用”(uialert 操作的标题)时,它会向我的进度条添加 0.1,然后如果我再次单击它,进度条几乎会冻结。或者如果我最初单击 uialert 操作标题它会添加 0.1,但是如果我单击 nenuProgress 按钮,它将添加 0.5 而不是 0.1,如果我再次单击进度按钮,进度条将减去 0.5,可以去回到之前的状态。我不确定是什么导致了这种复杂性,但这是我的代码,非常感谢任何帮助,谢谢
class Characters: UIViewController {
var pb = ProgressBrain()
var toNextLevel = 10
var xpGained = 1
var nenuEx = 1
var nenuSurvival = 5
@IBOutlet var nenuProgress: UIProgressView!
@IBOutlet var remfoProgress: UIProgressView!
@IBOutlet var oneiroProgress: UIProgressView!
@IBOutlet var nenuLevel: UILabel!
@IBOutlet var nenuTab: UITabBarItem!
@IBOutlet weak var selector: UISegmentedControl!
@IBOutlet weak var characterImg: UIImageView!
@IBOutlet var routine: UIView!
var views: [UIView]!
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view.
}
@IBAction func progressButton(_ sender: UIButton) {
nenuProgressButton()
}
func nenuProgressButton() {
let percentageProgress = Float(xpGained) / Float(toNextLevel)
if xpGained < toNextLevel + 1{
nenuProgress.progress = Float(percentageProgress)
print(Float(percentageProgress))
xpGained += 1
} else if xpGained == toNextLevel + 1 {
nenuProgress.progress = 0.0
xpGained -= toNextLevel
switch nenuLevel.text {
case "1":
nenuProgress.progress = 0.0
toNextLevel += 3
nenuLevel.text = "2"
case "2":
xpGained = 1
toNextLevel += 3
nenuLevel.text = "3"
case "3":
xpGained = 1
toNextLevel += 3
nenuLevel.text = "4"
case "4":
xpGained = 1
toNextLevel += 3
nenuLevel.text = "5"
case "5":
xpGained = 1
toNextLevel += 3
nenuLevel.text = "6"
case "6":
xpGained = 1
toNextLevel += 3
nenuLevel.text = "7"
case "7":
xpGained = 1
toNextLevel += 3
nenuLevel.text = "8"
case "8":
xpGained = 1
toNextLevel += 3
nenuLevel.text = "9"
case "9":
xpGained = 1
toNextLevel += 3
nenuLevel.text = "10"
default:
print("Something went wrong")
}
}
}
func nenuSurvivalButton() {
let percentageProgress = Float(xpGained) / Float(toNextLevel)
nenuProgress.progress = Float(percentageProgress)
print(Float(percentageProgress))
nenuProgress.progress += Float(xpGained)
xpGained += 5
if xpGained >= toNextLevel + 1 {
nenuProgress.progress = 0.0
xpGained -= toNextLevel
switch nenuLevel.text {
case "1":
nenuProgress.progress = 0.0
toNextLevel += 3
nenuLevel.text = "2"
case "2":
xpGained = 5
toNextLevel += 3
nenuLevel.text = "3"
case "3":
xpGained = 5
toNextLevel += 3
nenuLevel.text = "4"
case "4":
xpGained = 5
toNextLevel += 3
nenuLevel.text = "5"
case "5":
xpGained = 5
toNextLevel += 3
nenuLevel.text = "6"
case "6":
xpGained = 1
toNextLevel += 3
nenuLevel.text = "7"
case "7":
xpGained = 1
toNextLevel += 3
nenuLevel.text = "8"
case "8":
xpGained = 1
toNextLevel += 3
nenuLevel.text = "9"
case "9":
xpGained = 1
toNextLevel += 3
nenuLevel.text = "10"
default:
print("Something went wrong")
}
}
}
}
@IBAction func nenuPopUp(_ sender: UIButton) {
let alert = UIAlertController(title: "Perform Application",message: "48 Laws of power",preferredStyle: .alert)
alert.addAction(UIAlertAction(title: "Apply",style: .default,handler: { (action: UIAlertAction) in
self.nenuSurvivalButton()
} ))
self.present(alert,animated: true,completion: nil)
}
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)