здесь, это то, как вы делаете это target-c в представлении viewcontroller, который на самом деле ничего не представляет, но это навигационный контроллер. это простой режим.
UIViewController *pvc = [UIViewController new];
WLGNavigationController *nav = [[WLGNavigationController alloc] initWithRootViewController:pvc];
UIBarButtonItem *backBarButtonItem = [[UIBarButtonItem alloc] initWithTitle:@"Cancel" style:UIBarButtonItemStylePlain target:self action:@selector(backerPressed)];
[[pvc navigationItem] setLeftBarButtonItem:backBarButtonItem];
[[self navigationController] presentViewController:nav animated:true completion:nil];
с нажатой подкладкой:
- (void)backerPressed {
[[self navigationController] dismissViewControllerAnimated:true completion:nil];
}
для сложных сложных режимов:
обработчик завершения:
добавьте обработчик завершения в VC, который вы представляете, затем в VC, который вы представили, добавьте кнопку навигации, затем добавьте действие, которое при нажатии запускает этот обработчик завершения после того, как обещание выполнено как выполненное. затем в представительном контроллере представления вы настраиваете код обработки завершения, чтобы затем отклонить представленное комбо контроллера навигации / представления.
Делегирование:
написать делегата в VC, который вы представляете,когда обещание возвращается, выполните методы делегата, «отвечает селектору», бла-бла, как вы обычно делаете с делегированием. в представляемом VC вы затем делаете его делегатом представляемого вами VC, внедряете метод, который при вызове вызывает навигационный контроллер для отклонения представленного пакета navigation / viewcontroller.