Bug au lancement du simulateur d'application

HooliVR

Membre confirmé
24 Mars 2020
27
1
28
Bonjour à tous,

J'ai un "bug" (ça doit pas être grand chose) :

J'ai crée une application sur Xcode, lorsque je la lance via le simulateur elle apparait 1-2 seconde puis j'ai une page blanche avec écrit Hello World qui apparait.
J'ai cherché partout, je ne sais plus quoi faire..

HELP PLEASE
 

Fichiers joints

  • Capture d’écran 2020-03-24 à 15.49.04.png
    Capture d’écran 2020-03-24 à 15.49.04.png
    154,5 KB · Affichages: 202
T’es sur que dans ton Storyboard tu n’a pas un helloworld qui traine ? Ou une connerie sur ton AppDelegate ?
 
T’es sur que dans ton Storyboard tu n’a pas un helloworld qui traine ? Ou une connerie sur ton AppDelegate ?


Bonsoir Ruben,

Merci pour ton aide, j'ai trouvé la solution entre temps :
Je créait mon projet en Swift UI et non en Storyboard et par conséquent je n'avais pas le Main.storyboard.
Du coups j'éditais mon app à partir de LaunchScreen.storyboard ‍♂️
 
T’es sur que dans ton Storyboard tu n’a pas un helloworld qui traine ? Ou une connerie sur ton AppDelegate ?


J'ai vu que tu étais Dev IOS ?
Je peux te demander 2-3 conseils à propos de mon projet ?
 
Ancien lol, demande toujours
 
Ancien lol, demande toujours

Je suis en train de developper une petite application pas très compliqué mais je suis bloqué sur un point :

Je n'arrive pas a trouver le moyen de détecter le nombre de doigts présents sur l'écran et lancer une action à partir de ça..
Je t'explique plus en détail :

J'aimerais que plusieurs utilisateurs posent leur doigts sur l'écran que ça forme un cercle autour pour bien montrer qu'ils sont détectes, ensuite générer un nombrer aléatoire entre 0 et le nombre de doigts présents,
 
Slt,
Difficile de te répondre sans savoir ou tu en es dans ton app.
Tu dois utiliser la classe UITouch et les méthodes touchesBegan(), touchesMoved() et touchesEnded()
Regarde ici
 
Slt,
Difficile de te répondre sans savoir ou tu en es dans ton app.
Tu dois utiliser la classe UITouch et les méthodes touchesBegan(), touchesMoved() et touchesEnded()
Regarde ici


Salut,
J'en suis encore au début (j'ai fais tout le design graphique) il me manque "juste" cette fonctionnalité.
J'ai pas tout compris sur la page d'Apple
 
Slt,
Difficile de te répondre sans savoir ou tu en es dans ton app.
Tu dois utiliser la classe UITouch et les méthodes touchesBegan(), touchesMoved() et touchesEnded()
Regarde ici

J’ai réussi (via le site d’Apple dev) à coder la fonctionnalité qui permet de détecter les doigts, par contre impossible de trouver comment je pourrais compter le nombre de doigts sur l’écran et ainsi déterminer un nombre aléatoire entre 0 et le nombre de doigt sur l’écran.

Auriez vous une idée ?

Merci d'avance


override func loadView() {

view = TouchableView()

view.backgroundColor = .black

}

}



class TouchableView: UIView {

var touchViews = [UITouch:TouchSpotView]()





override init(frame: CGRect) {

super.init(frame: frame)

isMultipleTouchEnabled = true

}



required init?(coder aDecoder: NSCoder) {

super.init(coder: aDecoder)

isMultipleTouchEnabled = true

}



override func touchesBegan(_ touches: Set<UITouch>, with event: UIEvent?) {

for touch in touches {

createViewForTouch(touch: touch)

}

}



override func touchesMoved(_ touches: Set<UITouch>, with event: UIEvent?) {

for touch in touches {

let view = viewForTouch(touch: touch)

// Move the view to the new location.

let newLocation = touch.location(in: self)

view?.center = newLocation

}

}



override func touchesEnded(_ touches: Set<UITouch>, with event: UIEvent?) {

for touch in touches {

removeViewForTouch(touch: touch)

}

}



override func touchesCancelled(_ touches: Set<UITouch>, with event: UIEvent?) {

for touch in touches {

removeViewForTouch(touch: touch)

}

}



func createViewForTouch( touch : UITouch ) {

let newView = TouchSpotView()

newView.bounds = CGRect(x: 0, y: 0, width: 1, height: 1)

newView.center = touch.location(in: self)



// Add the view and animate it to a new size.

addSubview(newView)

UIView.animate(withDuration: 0.2) {

newView.bounds.size = CGSize(width: 100, height: 100)

}



// Save the views internally

touchViews[touch] = newView

}



func viewForTouch (touch : UITouch) -> TouchSpotView? {

return touchViews[touch]

}



func removeViewForTouch (touch : UITouch ) {

if let view = touchViews[touch] {

view.removeFromSuperview()

touchViews.removeValue(forKey: touch)

}

}

}



class TouchSpotView : UIView {

override init(frame: CGRect) {

super.init(frame: frame)

backgroundColor = UIColor.lightGray

}



required init?(coder aDecoder: NSCoder) {

fatalError("init(coder:) has not been implemented")

}



// Update the corner radius when the bounds change.

override var bounds: CGRect {

get { return super.bounds }

set(newBounds) {

super.bounds = newBounds

layer.cornerRadius = newBounds.size.width / 2.0



}

}

}
 
Salut,
Pour plus de clarté, utilise la fonction Bloc de code avec les 3 points ... sur le forum ;)
Code.jpeg

Pour ta question, tu peux utiliser touches.count ou touchViews.count
Insère au début de ta méthode touchesBegan()
Swift:
print(String(touchViews.count + 1) + " doigt(s) sur l'écran")
et dans ta méthode touchesEnded()
Swift:
print(String(touchViews.count - 1) + " doigt(s) sur l'écran")

Je n'ai pas testé mais ça devrait aller....
 
Dernière édition par un modérateur:
  • J’aime
Réactions: HooliVR
Salut,
Pour plus de clarté, utilise la fonction Bloc de code avec les 3 points ... sur le forum ;)
Voir la pièce jointe 161709

Pour ta question, tu peux utiliser touches.count ou touchViews.count
Insère au début de ta méthode touchesBegan()
Swift:
print(String(touchViews.count + 1) + " doigt(s) sur l'écran")
et dans ta méthode touchesEnded()
Swift:
print(String(touchViews.count - 1) + " doigt(s) sur l'écran")

Je n'ai pas testé mais ça devrait aller....


Merci