Я думав, що додам ще одну можливість. Однією з речей є те, що ви можете з’єднати дві сцени на дошці розкадрування за допомогою каналу, який не прикріплений до дії, а потім програмно запустити виразку всередині вашого контролера перегляду. Як ви це зробите, це те, що вам потрібно перетягнути значок піктограми власника файлу в нижній частині сцени розкадрівки, яка є сценою заїдання, і перетягнути праворуч до місця призначення. Я накину зображення, щоб допомогти пояснити.
З'явиться спливаюче вікно для "Ручного Segue". Я вибрав Push як тип. Торкніться маленької площі та переконайтеся, що ви є інспектором атрибутів. Дайте йому ідентифікатор, який ви будете використовувати для позначення його в коді.
Гаразд, далі я збираюся провести пошук за допомогою елемента програмної кнопки на панелі. У viewDidLoad або десь іншому я створить на панелі навігації елемент кнопки з цим кодом:
UIBarButtonItem *buttonizeButton = [[UIBarButtonItem alloc] initWithTitle:@"Buttonize"
style:UIBarButtonItemStyleDone
target:self
action:@selector(buttonizeButtonTap:)];
self.navigationItem.rightBarButtonItems = @[buttonizeButton];
Гаразд, зауважте, що селектор buttonizeButtonTap:. Тому напишіть метод пустоти для цієї кнопки, і в межах цього методу ви зателефонуєте до каналу так:
-(void)buttonizeButtonTap:(id)sender{
[self performSegueWithIdentifier:@"Associate" sender:sender];
}
Параметр відправника необхідний для ідентифікації кнопки під час виклику PrepaForSegue. PrepaForSegue - це метод фреймворку, де ви будете інстанціювати свою сцену та передавати їй будь-які значення, необхідні для її роботи. Ось як виглядає мій метод:
- (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;
}
}
Добре, просто перевірив це, і він працює. Сподіваюся, це допоможе вам.