J'ai deux controllers de vue, j'ai quelques videos dans FirstViewController, si je clique sur la video, il affichera sur SecondViewController en mode paysage, après avoir cliqué sur le button de return à nouveau le FirstViewController devrait apparaître en mode Potrait.Voici mon code
-(NSUInteger)supportedInterfaceOrientations { return UIInterfaceOrientationMaskLandscape; }
mais ça ne marche pas pour moi.
Merci
J'ai fait une solution de contournement simple à cette question il y a quelques semaines. Si vous le souhaitez, vous pouvez lier la valeur de return du rootviewcontroller shouldAutoRotate / supportedInterfaceOrientation à la présentation du second controller de vue
RootViewController
@property (nonatomic, retain) BOOL autoRotate; @property (nonatomic, retain) UIInterfaceOrientation interfaceOrientation; -(void)setAutorate:(BOOL)newValue { _autoRotate = newValue; } -(void)setInterfaceOrientation: (UIInterfaceOrientation)newInterface { _interfaceOrientation = newInterface; } -(BOOL)shouldAutorotate { return _autoRotate; } -(UIInterfaceOrientation)supportedInterfaceOrientation { return _interfaceOrientation; }
Et dans le controller secondView, vous devez appeler la méthode setter dans viewDidAppear pour modifier les valeurs. Ensuite, dans viewDidDisappear, ou lorsque vous fermez le controller, vous réinitialiserez les valeurs.