Bug au lancement du simulateur d'application

HooliVR

Membre junior
24 Mars 2020
26
1
23
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

RubenF

Accélérateur
Club MacG
6 Octobre 2014
2 446
90
Paris
T’es sur que dans ton Storyboard tu n’a pas un helloworld qui traine ? Ou une connerie sur ton AppDelegate ?
 

HooliVR

Membre junior
24 Mars 2020
26
1
23
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 ‍♂
 

HooliVR

Membre junior
24 Mars 2020
26
1
23
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 ?
 

RubenF

Accélérateur
Club MacG
6 Octobre 2014
2 446
90
Paris
Ancien lol, demande toujours
 

HooliVR

Membre junior
24 Mars 2020
26
1
23
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,
 
D

Deleted member 1108206

Invité
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
 

HooliVR

Membre junior
24 Mars 2020
26
1
23
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
 

HooliVR

Membre junior
24 Mars 2020
26
1
23
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



}

}

}
 
D

Deleted member 1108206

Invité
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

HooliVR

Membre junior
24 Mars 2020
26
1
23
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