ios - UISplitViewController - dismiss / pop Detail View Controller in code in collapsed mode -


since ios8 we're allowed use uisplitviewcontroller on both compact , regular devices. great because don't have create 2 different storyboard iphone , ipad, there's 1 problem i'm stuck with.

if split view controller on ipad(if collapsed property no), can call show mastervc on left side.

self.splitviewcontroller.preferreddisplaymode = uisplitviewcontrollerdisplaymodeprimaryoverlay; [self.splitviewcontroller.displaymodebuttonitem action]; 

but if it's on iphone(if collapsed property yes), displaymode ignored, , doesn't anything.

i cannot pop detailvc poptorootviewcontrolleranimated because detailvc has it's own navigation controller.

how apple expect show mastervc(dismiss detailvc) in code in collapsed mode if there isn't method dismissviewcontrolleranimated:completion: view controller presented showdetail? appreciated. thanks

on devices don't support "split" mode, if

  1. you want present master view controller instead of detail when uisplitviewcontroller first loads, returning yes in delegate class (uisplitviewcontrollerdelegate) splitviewcontroller:collapsesecondaryviewcontroller:ontoprimaryviewcontroller: method method should that:

    - (bool)splitviewcontroller:(uisplitviewcontroller *)splitviewcontroller collapsesecondaryviewcontroller:(uiviewcontroller *)secondaryviewcontroller ontoprimaryviewcontroller:(uiviewcontroller *)primaryviewcontroller {     return yes; } 
  2. you want dismiss detail view controller master, after specific event (e.g. touch on button). in case have pop detail view controller navigation controller:

    [detailviewcontroller.navigationcontroller.navigationcontroller poptorootviewcontrolleranimated:yes] 

Comments