Eu pensei em acrescentar outra possibilidade. Uma das coisas que você pode fazer é conectar duas cenas em um storyboard usando um segue que não está anexado a uma ação e, em seguida, disparar programaticamente o segue dentro do seu controlador de exibição. A maneira como você faz isso é que você deve arrastar do ícone do proprietário do arquivo na parte inferior da cena do storyboard que é a cena seguinte e arrastar com o botão direito do mouse para a cena de destino. Vou colocar uma imagem para ajudar a explicar.
Um pop-up será exibido para "Segmento manual". Eu escolhi Push como o tipo. Toque no pequeno quadrado e verifique se você está no inspetor de atributos. Dê a ele um identificador que você usará para se referir a ele no código.
Ok, a seguir vou seguir usando um item de botão de barra programática. No viewDidLoad ou em outro lugar, criarei um item de botão na barra de navegação com este código:
UIBarButtonItem *buttonizeButton = [[UIBarButtonItem alloc] initWithTitle:@"Buttonize"
style:UIBarButtonItemStyleDone
target:self
action:@selector(buttonizeButtonTap:)];
self.navigationItem.rightBarButtonItems = @[buttonizeButton];
Ok, observe que o seletor é buttonizeButtonTap :. Portanto, escreva um método nulo para esse botão e, dentro desse método, você chamará o seguinte assim:
-(void)buttonizeButtonTap:(id)sender{
[self performSegueWithIdentifier:@"Associate" sender:sender];
}
O parâmetro sender é necessário para identificar o botão quando o prepareForSegue é chamado. prepareForSegue é o método de estrutura em que você instancia sua cena e passa a ela quaisquer valores necessários para realizar seu trabalho. Aqui está a aparência do meu método:
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
if ([[segue identifier] isEqualToString:@"Associate"])
{
TranslationQuizAssociateVC *translationQuizAssociateVC = [segue destinationViewController];
translationQuizAssociateVC.nodeID = self.nodeID; //--pass nodeID from ViewNodeViewController
translationQuizAssociateVC.contentID = self.contentID;
translationQuizAssociateVC.index = self.index;
translationQuizAssociateVC.content = self.content;
}
}
Ok, apenas testei e funciona. Espero que ajude você.