В настоящее время я испытываю трудности при разработке моего приложения. Чтобы сделать это проще, это приложение, которое позволяет вам делать умственные вычисления.
Моя проблема связана с отображением предложенных расчетов, результатов, предоставленных игроком, и результатов расчета. Фактически, когда программа знает, что больше нет расчета для предложения, она запускает «случай 2» функции, которая содержит цикл for
, который вызывает функцию CreatLabelJuste()
, если результат, предоставленный игроком, является правильным, и CreatLabelFAux()
функция, если расчет неверен.
Эти функции создают ярлыки. Это работает довольно хорошо. Проблема в том, что для перезапуска игры я вызываю функцию viewDidLoad()
, которая сбрасывает мою игру. Но когда метки должны быть воссозданы, старые не удаляются из представления, которое их содержит!
Не знаю, достаточно ли это ясно, но если кто-то знает, возможно ли «уничтожить» эти ярлыки, чтобы при повторном запуске игры в конце ничего не перекрывалось.
func creatLabelJuste(TagX : Int) {
let labelJ = UILabel(frame: CGRect(x: 0, y: 0, width: 100, height: 20))
let labelForAnswerJ = UILabel(frame: CGRect(x: 0, y: 0, width: 100, height: 20))
let labelForResultJ = UILabel(frame: CGRect(x: 0, y: 0, width: 100, height: 20))
switch TagX {
case 0 :
labelJ.font = UIFont(name: "futura", size: 20)
labelJ.center = CGPoint(x: 96, y: yAxis)
labelJ.textAlignment = .center
labelJ.text = "\(memoriseCalcule[compter])³"
self.myView.addSubview(labelJ)
labelForAnswerJ.font = UIFont(name: "futura", size: 20)
labelForAnswerJ.center = CGPoint(x: 187, y: yAxis)
labelForAnswerJ.textAlignment = .center
labelForAnswerJ.text = "\(memoriseAnswer[compter])"
self.myView.addSubview(labelForAnswerJ)
labelForResultJ.font = UIFont(name: "futura", size: 20)
labelForResultJ.center = CGPoint(x: 278, y: yAxis)
labelForResultJ.textAlignment = .center
labelForResultJ.text = "\(memoriseResult[compter])"
self.myView.addSubview(labelForResultJ)
// print("/////////////////////////////////////CreateLabelJuste : LabelJ = \(labelJ.text)/ laberForAwnswerJ = \(labelForAnswerJ.text!)/ labelforResultJ+ = \(labelForResultJ.text) ////////////////////////////////////////////")
case 1 :
self.myView.removeFromSuperview()
default :
print("defaut")
}
}
func creatLabelFaux(Tag : Int) {
let label = UILabel(frame: CGRect(x: 0, y: 0, width: 100, height: 20))
let labelForAnswer = UILabel(frame: CGRect(x: 0, y: 0, width: 100, height: 20))
let labelForResult = UILabel(frame: CGRect(x: 0, y: 0, width: 100, height: 20))
label.text = ""
labelForResult.text = ""
labelForAnswer.text = ""
switch Tag {
case 0:
label.font = UIFont(name: "futura", size: 20)
label.center = CGPoint(x: 96, y: yAxis)
label.textAlignment = .center
label.text = "\(memoriseCalcule[compter])³"
label.backgroundColor = UIColor(red: 238/255, green: 105/255, blue: 86/255, alpha: 1)
label.layer.cornerRadius = 10
label.clipsToBounds = true
self.myView.addSubview(label)
labelForAnswer.font = UIFont(name: "futura", size: 20)
labelForAnswer.center = CGPoint(x: 187, y: yAxis)
labelForAnswer.textAlignment = .center
labelForAnswer.backgroundColor = UIColor(red: 238/255, green: 105/255, blue: 86/255, alpha: 1)
labelForAnswer.text = "\(memoriseAnswer[compter])"
self.myView.addSubview(labelForAnswer)
labelForResult.font = UIFont(name: "futura", size: 20)
labelForResult.center = CGPoint(x: 278, y: yAxis)
labelForResult.textAlignment = .center
labelForResult.backgroundColor = UIColor(red: 238/255, green: 105/255, blue: 86/255, alpha: 1)
labelForResult.text = "\(memoriseResult[compter])"
labelForResult.layer.cornerRadius = 10
labelForResult.clipsToBounds = true
self.myView.addSubview(labelForResult)
case 1 :
// label.delete(true)
//labelForAnswer.delete(true)
//labelForResult.delete(true)
self.myView.removeFromSuperview()
default:
print("merde")
}
}
for _ in 0..<setLimite{
yAxis = yAxis + 30
if memoriseAnswer[compter] == memoriseResult[compter]{
creatLabelJuste(TagX: 0)
} else {//if memoriseAnswer[compter] != memoriseResult[compter] {
creatLabelFaux(Tag: 0)
}
compter = compter + 1
}