Forcing an iPad app to show splitView even in Portrait orientation(Like the Settings iPad app)

前端 未结 9 1378
不知归路
不知归路 2020-12-16 08:25

I am trying to develop a splitView based iPad app, that displays the split interface in every orientation. I have tried subclassing the UISplitViewController class as given

相关标签:
9条回答
  • 2020-12-16 08:32

    In the viewController class that implements the UISplitViewControllerDelegate Protocol (usually the DetailViewController), add the following code.

    - (BOOL) splitViewController:(UISplitViewController *)svc shouldHideViewController:(UIViewController *)vc inOrientation:(UIInterfaceOrientation)orientation {   
        return NO;
    }
    

    According to the Docs, this has been available since iOS 5.

    To see it in action:
    -open Xcode.
    -Create a new Master/Detail app.
    -Add the above code to the DetailViewController
    -Run in the iPad simulator.

    In your own project you'll want to add the following line to the viewDidLoad method of the detailViewController.

    self.splitViewController.delegate = self;
    
    0 讨论(0)
  • 2020-12-16 08:36
    you just need to add this delegate method to your detail view manager
    
        - (BOOL)splitViewController:(UISplitViewController *)svc 
           shouldHideViewController:(UIViewController *)vc 
                      inOrientation:(UIInterfaceOrientation)orientation
        {
            // Hide split view in portrait mode
            //return UIInterfaceOrientationIsPortrait(orientation);
    
            // Show Split view in portrait mode
            return NO;
        }
    
    //vKj
    
    0 讨论(0)
  • 2020-12-16 08:37

    I never achieved to force the SPlitViewController to do that but since you need to create controllers for both parts, you can just reuse those controllers to display the content the way you want it.

    0 讨论(0)
  • 2020-12-16 08:39

    I'm not sure that it is possible with standard SplitViewController, but you can use custom one from

    https://github.com/mattgemmell/MGSplitViewController

    0 讨论(0)
  • 2020-12-16 08:47

    You cannot have Apple' splitViewController behave like that (and get in the app store). You would need to write your own container view controller. See Apple' docs

    0 讨论(0)
  • 2020-12-16 08:50

    What you are describing sounds like Apple's Settings app (on iPad). My intuition would be that this is not a UISplitView. It's just a view containing two table views. Fix the layout manually when the device rotates. In other words, if you don't want what a UISplitView does, then you don't a UISplitView at all.

    EDIT 12/19/2011: In iOS 5 the problem is basically solved, since you can now define your own container view controller, plus you can prevent the dismissal of the left view in a split view.

    0 讨论(0)
提交回复
热议问题