Como alterar o controlador de exibição de divisão em seu aplicativo ios para um relacionamento controlador de vista de detalhe
Você pode querer excluir o Ver controlador Detalhe
Conteúdo
Video: Revisamos la app iTV Shows 3 para iPhone
O controlador de tempo foi escolhido arbitrariamente aqui - você poderia facilmente ter substituído-lo com qualquer um dos outros controladores de vista. Esta é a visão Detalhe o usuário verá quando o aplicativo é iniciado.
As etapas a seguir mostram como substituir o controlador Detail View.
No Document Outline ou na tela, selecione o controlador de navegação associada com o controlador Visão Detalhada e pressione Excluir.
Pode ser mais fácil de selecionar o controlador Visão Detalhada no Document Outline, a fim de destacá-lo. Em seguida, você pode provavelmente encontrar o controlador de navegação bem próximo a ela.
Video: Apoyo: Conexiones vista controlador perdidas en iOS con Swift
Selecione o controlador Visão Detalhada no Document Outline ou lona e pressione Delete também.
Video: IOS-4_Modelo Vista Controlador
Você precisará criar um novo relacionamento entre o controlador Dividir a visualização eo controlador do tempo.
Selecione o controlador Dividir a visualização no storyboard ou Document Outline, Controle e arraste para o controlador do tempo, e, em seguida, selecione Relacionamento - Detail View Controller a partir do menu pop-up que aparece.
Video: #SegredosDoInstagram: ME DEU UNFOLLOW?
O resultado final do que foi adicionado ao storyboard até agora deve ser semelhante a este. As coisas foram reorganizados um pouco por uma questão de clareza. Certifique-se de que tudo é nomeado como você reorganizar os controladores de vista. Então você pode zoom in e out para ver o que faz o arranjo mais lógico.
Você também vai ter que fazer algumas mudanças em aplicação: didFinishLaunchingWithOptions:. Adicione o código em negrito para esse método em AppDelegate.m.
- applicationdidFinishLaunchingWithOptions (UIApplication *):: (BOOL) aplicação launchOptions {(NSDictionary *) if ([[UIDevice currentDevice] userInterfaceIdiom] == UIUserInterfaceIdiomPad) {UISplitViewController * splitViewController = (UISplitViewController *) self.window.rootViewController-if ([splitViewController.viewControllers [1] isKindOfClass: [classe UINavigationController]]) {UINavigationController * detailNavigationController = [splitViewController.viewControllerslastObject] -splitViewController.delegate = (id) navigationController.topViewController-}outro splitViewController.delegate = [SplitViewController.viewControllers LastObject] -... o resto do método}
A mudança que você faz aqui está em como você começa o controlador Visão Detalhada que você vai atribuir como o delegado controlador Dividir a visualização. O controlador Dividir a visualização administra dois controladores de vista, com o último em sua lista de controladores correspondentes para o que é exibido na visualização detalhada.
Você verifica o último controlador de vista para ver se é um controlador de navegação (que contém o controlador Detail View), enviando-o isKindOfClass: mensagem. Este método retorna um booleano que indica se é um UINavigationController.
se ([splitViewController.viewControllers [1] isKindOfClass: [classe UINavigationController]]) {UINavigationController * detailNavigationController = [splitViewController.viewControllers LastObject] -splitViewController.delegate = (id) detailNavigationController.topViewController-}
Se for um controlador de navegação, você precisa encontrar o seu controlador de exibição (ele é o único que tenha adoptado o SplitViewControllerDelegate protocolo, implementado os métodos de protocolo, e pode se tornar delegado Ver controlador do Split), que você obtém através do acesso ao controlador de navegação de topViewController propriedade. (Ele aponta para o primeiro e único controlador de vista sobre a sua stack.) Então você vai atribuí-lo como delegado.
Se for um controlador de vista, em vez de um controlador de navegação (que será porque você acabou de fazer o controlador do tempo o controlador Detail View, e não tem controlador de navegação), que acabou de atribuir esse controlador de vista como o delegado.
else splitViewController.delegate = [splitViewController.viewControllers LastObject] -
Se você construir e executar o seu projeto agora, parece que você tomou um passo backward- tudo que você vê é uma tela em branco - na orientação retrato não menos (a menos que você manteve o controlador Test Drive como a Visão Detalhada inicial controlador).