UISplitViewControler don't show Master view

Hi everybody, i’m rework my app and i’m using UISplitviewController. before iOS 14 you did can use delegate method and the split view showed master view.

import UIKit

class CustomSplitViewController: UISplitViewController, UISplitViewControllerDelegate {

    override func viewDidLoad() {
        delegate = self
        preferredDisplayMode = .allVisible

    // MARK: - Navigation

    // In a storyboard-based application, you will often want to do a little preparation before navigation
    override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
        // Get the new view controller using segue.destination.
        // Pass the selected object to the new view controller.
    func splitViewController(_ splitViewController: UISplitViewController, collapseSecondary secondaryViewController:UIViewController, onto primaryViewController:UIViewController) -> Bool {
        return true

But now, that code doesn’t work.

Both iPhone and iPad is showed only detail view.

i’m using Storyboard and i’ve set “Display mode” to “Two Columns Beside” and “Behavior” to “Tile”

how can i make the split view show the master view?


p.s. I’ve tested one thing: if you use a split view alone, in iPad works; in iPhone shows only detail view. but if you put the split view inside a Tab Bar (as I need it) both in iPad and iPhone shows only Detail View.

How can I fix this problem?

This topic was automatically closed after 166 days. New replies are no longer allowed.