user2526811
user2526811

Reputation: 1253

Present Modal View in Detail View in UISplitViewController

I want to make a behavior like contacts app in iPad with landscape mode.

I'm expecting that a Modal shows in a Detail view when I click upper right add button.

but now if I click upper right add button, the Modal shows in all screen.

what method should I use? showDetailViewController? or presentViewController? I don’t know how to show Modal in only Detail View.

Upvotes: 3

Views: 1832

Answers (1)

Artur
Artur

Reputation: 41

Firstly you need to set detail view controller's property definesPresentationContext = true. So now it defines presentation context. By default view controllers doesn't pay attention to the current context when they are presented therefore you must do viewController.modalPresentationStyle = .CurrentContext

That's how complete method looks like

func adaptivePresentViewController(viewController: UIViewController) {
  let detailVC = splitViewController!.viewControllers[1]
  detailVC.definesPresentationContext = true
  viewController.modalPresentationStyle = .CurrentContext
  detailVC.presentViewController(viewController, animated: true, completion: nil)
}

Upvotes: 4

Related Questions