2010-08-26 2 views
3

J'ai une vue de notification que j'ajoute à la fenêtre de l'application après le lancement, de sorte qu'elle plane au-dessus de toutes les autres vues.Force autoresizingMask à appliquer à un UIView

Lorsque l'utilisateur fait pivoter le périphérique, la vue n'est pas autorisée comme celle appartenant à un UIViewController.

Existe-t-il un moyen de demander manuellement l'application du autoresizingMask de la vue? Ou, alternativement, comment puis-je avoir une vue sans contrôleur de vue être redimensionné sur la rotation de l'appareil? Le paramètre autoResizingMask n'a rien à voir avec la rotation en soi.

+0

Avez-vous trouvé une réponse ou une solution acceptable? J'ai le même problème. – JoePasq

Répondre

1

J'ai trouvé que les vues ajoutées à la fenêtre de l'application ne tournent même pas, et encore moins les redimensionnent.

Cela a été demandé et a répondu pour Orientation in a UIView added to a UIWindow: ajouter la vue de notification à la première sous-vue de la fenêtre.

UIWindow* window = [UIApplication sharedApplication].keyWindow; 
if (!window) 
    window = [[UIApplication sharedApplication].windows objectAtIndex:0]; 
[[[window subviews] objectAtIndex:0] addSubview:myView]; 

Et, il résout aussi votre problème, votre vue de notification devrait maintenant être redimensionnée en fonction de ses masques.

0

Il définit simplement comment la vue doit être dimensionnée lorsque son aperçu est redimensionné.

Cela devrait fonctionner si vous ajoutez un contrôleur de vue de niveau supérieur, avec une vue de la même taille que la fenêtre et qui contient toutes les autres vues. Votre vue de notification sera alors une sous-vue de la vue de niveau supérieur (connectée à un contrôleur de vue), et devrait être autorotée.

0

Avez-vous défini:

view.autoresizesSubviews = YES; 

dans le superview approprié?

+1

La vue d'ensemble est la fenêtre. De la question: "J'ai une vue de notification que j'ajoute à la fenêtre de l'application après le lancement, donc elle plane au-dessus de toutes les autres vues." – JoePasq