Is there a possibility that I can programatically say that only 1 UIView can be in landscape mode? My Whole app has to be in portrait mode (not moving at all) but 1 UIView should be able to go in Landscape mode (To show pictures even better);
            Asked
            
        
        
            Active
            
        
            Viewed 121 times
        
    1 Answers
1
            You rotate VC like this:
- (BOOL)shouldAutorotate {
     return self.topViewController.shouldAutorotate;    
}
- (NSUInteger)supportedInterfaceOrientations {
      return self.topViewController.supportedInterfaceOrientations;    
}
Restrict VC so it won't rotate:
- (BOOL)shouldAutorotate { return NO; }
- (NSUInteger)supportedInterfaceOrientations {
    return (UIInterfaceOrientationMaskPortrait); 
}
You could change condition as per your need and this answer is referred from this link so you could go there for more understanding.
Also do keep that iOS 6/7 have different method for checking.If anything else then let me know.
UPDATED:- iOS 7 callBack method for checking mode
– willRotateToInterfaceOrientation:duration:
– willAnimateRotationToInterfaceOrientation:duration:
– didRotateFromInterfaceOrientation:
- 
                    And is it possible to do this when you don't 'allow' other modes in the Info.plist? Ex: Now there is only Portrait Mode (active) – Glenn Bettens Sep 16 '14 at 09:43
 - 
                    I guess u could do it programmatically still I have not done this but u could tick all mode's and control them in those callback methods. Also updated my post with callBack for iOS 7 as above are for iOS 6 and below. Don't forget to check for iOS8 if ur targeting it too. – nikhil84 Sep 16 '14 at 10:36