UISplitViewController

UISplitViewController é uma classe do UIKit em iOS que permite criar interfaces de usuário divididas em dois painéis, geralmente usadas em iPads ou em iPhones na orientação paisagem. Ele é frequentemente usado para interfaces de usuário em estilo mestre-detalhe, onde um painel exibe uma lista de itens (mestre) e o outro exibe detalhes sobre o item selecionado.

Aqui estão os passos para criar e trabalhar com um UISplitViewController em um aplicativo iOS:

Criando um UISplitViewController:

  1. Crie um novo projeto no Xcode ou abra um projeto existente.
  2. No arquivo Main.storyboard, adicione um UISplitViewController à cena. Você pode encontrar o UISplitViewController na biblioteca de objetos (Object Library) no Interface Builder.
  3. Conecte os ViewControllers mestre e detalhe ao UISplitViewController. O ViewController mestre geralmente contém uma lista de itens e o ViewController detalhe exibe detalhes sobre o item selecionado.
  4. Configure as relações de segues ou propriedades viewControllers do UISplitViewController para vincular o mestre e o detalhe.

Implementando o DataSource do UISplitViewController:

Para fornecer dados ao mestre (a tabela ou lista de itens), você geralmente precisa implementar um DataSource. Por exemplo, você pode usar um UITableViewDataSource para uma tabela.

class MeuSplitViewController: UISplitViewController, UITableViewDataSource, UITableViewDelegate {
    var itens: [String] = ["Item 1", "Item 2", "Item 3"] // Dados para o mestre
    
    override func viewDidLoad() {
        super.viewDidLoad()
        
        let mestreViewController = viewControllers.first as? UINavigationController
        let detalheViewController = viewControllers.last as? DetalheViewController
        
        // Configurar a tabela no mestre
        if let tabela = mestreViewController?.topViewController as? UITableView {
            tabela.dataSource = self
            tabela.delegate = self
        }
        
        // Passar dados selecionados do mestre para o detalhe
        detalheViewController?.dados = itens.first
    }
    
    // Implementar métodos do UITableViewDataSource e UITableViewDelegate conforme necessário
}

No exemplo acima, itens é uma lista de itens que são exibidos na tabela no mestre. Quando um item é selecionado, ele é passado para o ViewController detalhe.

Implementando o ViewController Detalhe:

O DetalheViewController é onde você exibe detalhes sobre o item selecionado. Você pode personalizar este ViewController conforme necessário.

class DetalheViewController: UIViewController {
    var dados: String? // Dados para exibir
    
    @IBOutlet weak var label: UILabel! // Conecte isso no Interface Builder
    
    override func viewDidLoad() {
        super.viewDidLoad()
        // Configurar a interface do usuário com base nos dados recebidos
        label.text = dados
    }
}

Neste exemplo, dados representa os dados que serão exibidos no ViewController detalhe. label é uma UILabel conectada ao Interface Builder para exibir os dados.

UISplitViewController é uma ótima maneira de criar interfaces de usuário ricas e complexas em dispositivos maiores, como iPads, permitindo aos usuários interagir com uma variedade de informações de maneira intuitiva.