Başka bir olasılık ekleyeceğimi düşündüm. Yapabileceğiniz şeylerden biri, bir eyleme bağlı olmayan bir segue kullanarak bir film şeridindeki iki sahneyi bağlayabilir ve daha sonra selamı görünüm denetleyicinizin içinde programlı olarak tetikleyebilirsiniz. Bunu yapmanın yolu, film şeridi sahnesinin altındaki segman sahnesinin altındaki dosyanın sahip simgesinden sürüklemeniz ve hedef sahneye sağ sürüklemenizdir. Açıklamak için bir görüntü atacağım.
"Manuel Segue" için bir açılır pencere görüntülenir. Tür olarak Push'u seçtim. Küçük kareye dokunun ve nitelik denetçisinde olduğunuzdan emin olun. Kodda başvurmak için kullanacağınız bir tanımlayıcı verin.
Tamam, şimdi programlı bir çubuk düğmesi öğesi kullanacağım. ViewDidLoad veya başka bir yerde gezinme çubuğunda şu kodla bir düğme öğesi oluşturacağım:
UIBarButtonItem *buttonizeButton = [[UIBarButtonItem alloc] initWithTitle:@"Buttonize"
style:UIBarButtonItemStyleDone
target:self
action:@selector(buttonizeButtonTap:)];
self.navigationItem.rightBarButtonItems = @[buttonizeButton];
Tamam, seçicinin buttonizeButtonTap: olduğuna dikkat edin. Bu düğme için bir geçersiz yöntem yazın ve bu yöntem içinde segue'i şöyle çağırırsınız:
-(void)buttonizeButtonTap:(id)sender{
[self performSegueWithIdentifier:@"Associate" sender:sender];
}
PreparForSegue çağrıldığında düğmeyi tanımlamak için gönderen parametresi gerekir. preparForSegue, sahnenizi somutlaştıracağınız ve çalışmasını yapmak için ihtiyaç duyacağı değerleri ileteceğiniz çerçeve yöntemidir. İşte benim yöntem şöyle görünüyor:
- (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;
}
}
Tamam, sadece test ettim ve işe yarıyor. Umarım size yardımcı olur.