Myślałem, że dodam inną możliwość. Jedną z rzeczy, które możesz zrobić, jest połączenie dwóch scen w serii ujęć za pomocą segue, który nie jest dołączony do akcji, a następnie programowe wyzwolenie tego segmentu w kontrolerze widoku. Sposób, w jaki to robisz, polega na tym, że musisz przeciągnąć ikonę właściciela pliku na dole sceny scenorysu, która jest sceną segregowania, i przeciągnąć w prawo do sceny docelowej. Wrzucę obraz, aby pomóc wyjaśnić.
Pojawi się wyskakujące okienko dla „Manual Segue”. Jako typ wybrałem Push. Naciśnij mały kwadrat i upewnij się, że jesteś w inspektorze atrybutów. Podaj identyfikator, którego będziesz używać, aby się do niego odwoływać w kodzie.
Ok, następnie zamierzam segregować za pomocą przycisku programowanego paska narzędzi. W viewDidLoad lub gdzieś indziej utworzę element przycisku na pasku nawigacyjnym z tym kodem:
UIBarButtonItem *buttonizeButton = [[UIBarButtonItem alloc] initWithTitle:@"Buttonize"
style:UIBarButtonItemStyleDone
target:self
action:@selector(buttonizeButtonTap:)];
self.navigationItem.rightBarButtonItems = @[buttonizeButton];
Ok, zauważ, że selektor jest przyciskany Przyciskiem Przycisku :. Napisz więc metodę void dla tego przycisku, a w tej metodzie wywołasz segue w następujący sposób:
-(void)buttonizeButtonTap:(id)sender{
[self performSegueWithIdentifier:@"Associate" sender:sender];
}
Parametr nadawca jest wymagany do zidentyfikowania przycisku, gdy wywoływane jest przygotowanieForSegue. preparForSegue to metoda ramowa, w której utworzysz instancję swojej sceny i przekażesz jej wartości potrzebne do jej wykonania. Oto jak wygląda moja metoda:
- (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, właśnie go przetestowałem i działa. Mam nadzieję, że to ci pomoże.