Je veux faire quelque chose de similaire à UIAlertView, c'est-à-dire - sans référence à UIView ou UIViewController, présenter un UIViewController au-dessus de toutes les fenêtres en utilisant presentModalViewController.Comment fonctionne [UIAlertView show]?
En regardant la documentation, je ne trouve pas comment cela est possible!
En OS4, il y a quelque chose comme ceci:
UIWindow *window = [UIApplication sharedApplication].keyWindow
UIViewController *rootViewController = window.rootViewController
... mais cela est impossible dans OS3.
Est-ce que quelqu'un sait comment obtenir le même effet sous OS3?
Merci! OK - donc j'ai résolu ceci avec une myriade de rappels de délégué au ViewController lui-même! Bien que ce soit la bonne façon d'y parvenir, il a semblé assez étrange qu'il ne soit pas possible à aucun moment de l'exécution d'obtenir un contrôle du meilleur View Controller pour les alertes (etc).
Si quelqu'un sait comment y parvenir, je serais toujours très intéressé!
Ahh - ouverture des yeux! Merci pour ça! Nick –
Qu'est-ce/qui conserve l'instance UIWindow? Lorsque je crée une instance de UIWindow mais ne la conserve pas comme une variable/propriété d'instance, elle n'apparaît jamais et semble également être supprimée du tableau [[UIApplication sharedApplication] windows] '. Est-ce que je manque quelque chose? –
Ok, donc dans une tentative de créer une superposition qui fonctionne comme UIAlertView, j'ai fait que ma sous-classe UIWindow se conserve effectivement en créant un cycle de conservation. J'affecte 'self' à une propriété forte, puis dans ma méthode de rejet je mets cette propriété à zéro. Semble fonctionner, est-ce une mauvaise idée? Je suppose que UIAlertView fait quelque chose de similaire. –