12
votes

Superposez une vue sur l'écran entier, lorsque vous utilisez UitabbarController?

Je veux superposer un graphique transparent de style HUD sur tout l'écran d'une configuration uitabbarcontroller. Le bouton pour le faire est dans le premier écran de l'onglet (FirstViewController) et la superposition doit également couvrir les onglets ... est-ce possible?


0 commentaires

5 Réponses :


27
votes

Vous pouvez directement attacher votre nouvelle vue à votre fenêtre directement. XXX


2 commentaires

Le problème que j'ai avec cette solution est que la superposition apparaît à l'envers et ne tourne pas. Est-ce que quelqu'un connaît une solution pour cela?


L'orientation est transmise uniquement au premier contrôleur d'affichage ajouté à votre fenêtre. Si vous n'ajoutez qu'une vue (sans contrôleur), vous devez d'abord définir la rotation de votre barre d'état (voir les réponses ici: Stackoverflow.com/questions/4436530/... )



13
votes

La solution ci-dessus par Henrik P. Hessel est bon mais il y a un problème avec cette solution. Le problème est déjà mentionné par elsurudo dans le commentaire ci-dessous la réponse.

Le problème que j'ai avec cette solution est que la superposition apparaît à l'envers et ne tourne pas.

J'ai fait face au même problème et j'ai essayé différentes choses et j'ai eu une solution pour éliminer ce problème.

La solution est simple. Vous pouvez ajouter que myNewView à uitabbarcontroller S. xxx

espoir, il sera utile pour les futurs visiteurs.


0 commentaires

3
votes
UIView *modal = [[UIView alloc] initWithFrame:self.view.window.frame];
[self.view.window addSubview:modal];
This might be the same as the [[UIApplication sharedApplication] keyWindow] mentioned above. But I like referencing it through the current view.

0 commentaires

1
votes

J'ai vraiment aimé ce que Chase Robert avait écrit ici, alors je pensais fournir la version Swift 3. Version aussi:

    if let window = view.window {
        let subView = UIView(frame: window.frame)
        window.addSubview(subView)
    }


0 commentaires

2
votes

inspiré de Réponse de RDelmar à une autre question , je vous recommande de mettre votre uitabbarcontroller dans le conteneur Voir autre ViewController . Ajoutez ensuite votre HUD sur ViewController Affichage.

Capture d'écran pour réponse


1 commentaires

Lorsque vous faites référence à la réponse de quelqu'un d'autre, vous devez les mentionner par nom . J'ai édité votre réponse pour me conformer à cela. Pour plus d'informations, voir notre Référencement des directives .