0

Привет Я новичок в IOS развития и дайте мне решение, чтобы перейти к UIViewController из UIView: Это код, который я использовал, но он не работаетКак перемещаться UIViewController с UIView

acceptedJobDetailViewController *acceptedJobDetailViewController = [[UIStoryboard storyboardWithName:@"Main" bundle:nil] instantiateViewControllerWithIdentifier:@"acceptedJobDetailViewController"]; 
[self.navigationController pushViewController:acceptedJobDetailViewController animated:YES]; 

также я попробовал этот код, приведенный ниже, чтобы подтолкнуть ViewController, но это тоже не работает, пожалуйста, помогите мне разобраться в этом:

[appDelegate.navControl pushViewController:acceptedJobDetailViewController animated:YES]; 

ответ

0

Попробуйте

[[(UIViewController *)[self.superview nextResponder] navigationController] pushViewController:"your viewcontroller object" animated:NO]; 

Обновлен стрижа 3

(superview?.next? as? UIViewController)?.navigationController?.pushViewController("your viewcontroller object", animated: false) 
1

добавьте навигации контроллер в раскадровку.

step -1: select acceptedJobDetailViewController from storyboard. 
step -2: now go to Editor>EmbedIn>NavigationController 
step -3: now below code and run your project 


acceptedJobDetailViewController *acceptedJobDetailViewController = [[UIStoryboard storyboardWithName:@"Main" bundle:nil] instantiateViewControllerWithIdentifier:@"acceptedJobDetailViewController"]; 
1

Если вы уже добавили NavigationController в вашем storyboard и вы пытаетесь нажать экран из UIView класса, чем использовать ниже код:

UIViewController *superViewController = (UIViewController*)[self nextResponder]; 
UINavigationController *navigationController = superViewController.navigationController; 
[navigationController pushViewController:<YOUR_VIEW_CONTROLLER_OBJECT> animated:YES]; 

, если у вас нет, и любой навигатор, пожалуйста, добавьте его перед ваш ViewController, как показано ниже

Select ViewController -> Go to Editor Menu -> Embed In -> Navigation Controller 

Теперь Навигационный контроллер добавлен в раскадровку в настоящее время делать то, что вы делаете ранее.

acceptedJobDetailViewController *acceptedJobDetailViewController = [[UIStoryboard storyboardWithName:@"Main" bundle:nil] instantiateViewControllerWithIdentifier:@"acceptedJobDetailViewController"]; 
[self.navigationController pushViewController:acceptedJobDetailViewController animated:YES]; 

Надеюсь, это поможет.