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:
- Crie um novo projeto no Xcode ou abra um projeto existente.
- No arquivo Main.storyboard, adicione um
UISplitViewController
à cena. Você pode encontrar oUISplitViewController
na biblioteca de objetos (Object Library) no Interface Builder. - 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. - Configure as relações de segues ou propriedades
viewControllers
doUISplitViewController
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.