Некоторое время борется с этим и никогда не может получить прямой ответ.
Любая помощь приветствуется!
Некоторое время борется с этим и никогда не может получить прямой ответ.
Любая помощь приветствуется!
Если вы находитесь в контроллере навигации:
ViewController *viewController = [[ViewController alloc] init];
[self.navigationController pushViewController:viewController animated:YES];
или просто хотите представить новое представление:
ViewController *viewController = [[ViewController alloc] init];
[self presentViewController:viewController animated:YES completion:nil];
Если вы хотите представить новый вид в той же раскадровке,
В CurrentViewController.m,
#import "YourViewController.h"
UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"MainStoryboard" bundle:nil];
YourViewController *viewController = (YourViewController *)[storyboard instantiateViewControllerWithIdentifier:@"YourViewControllerIdentifier"];
[self presentViewController:viewController animated:YES completion:nil];
Чтобы установить идентификатор контроллера вида, Откройте MainStoryBoard.storyboard. Выберите YourViewController View- > Утилиты → ShowIdentityInspector. Там вы можете указать идентификатор.
instantiateViewControllerWithIdentifier
- это Storyboard ID
.
NextViewController *NVC = [self.storyboard instantiateViewControllerWithIdentifier:@"NextViewController"];
[self presentViewController:NVC animated:YES completion:nil];
версия Swift:
Если вы находитесь в контроллере навигации:
let viewController: ViewController = self.storyboard?.instantiateViewControllerWithIdentifier("VC") as ViewController
self.navigationController?.pushViewController(viewController, animated: true)
Если вы просто хотите представить новое представление:
let viewController: ViewController = self.storyboard?.instantiateViewControllerWithIdentifier("VC") as ViewController
self.presentViewController(viewController, animated: true, completion: nil)
Чтобы отклонить Viewcontroller, вызванный с кодом предыдущих ответов, CmdSft
ViewController *viewController = [[ViewController alloc] init];
[self presentViewController:viewController animated:YES completion:nil];
вы можете использовать
[self dismissViewControllerAnimated:YES completion: nil];
#import "YourViewController.h"
Чтобы сделать вид, включая панель навигации и/или панель вкладок:
UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"YourStoryboard" bundle:nil];
YourViewController *viewController = (YourViewcontroller *)[storyboard instantiateViewControllerWithIdentifier:@"YourViewControllerIdentifier"];
[self.navigationController pushViewController:viewController animated:YES];
Чтобы установить идентификатор в контроллер просмотра, откройте свою таблицу инвентаризации. Выберите ViewViewController View- > Утилиты → ShowIdentityInspector. Там вы можете указать идентификатор.
Это сработало для меня:
NSTimer *switchTo = [NSTimer scheduledTimerWithTimeInterval:0.1
target:selfselector:@selector(switchToTimer)userInfo:nil repeats:NO];
- (void) switchToTimer {
UIStoryboard *mainStoryboard = [UIStoryboard storyboardWithName:@"MainStoryboard_iPad" bundle:nil];
UIViewController *vc = [mainStoryboard instantiateViewControllerWithIdentifier:@"MyViewControllerID"]; // Storyboard ID
[self presentViewController:vc animated:FALSE completion:nil];
}
[self.navigationController pushViewController:someViewController animated:YES];
версия Swift 3.0
если вы хотите представить новый контроллер.
let storyboard = UIStoryboard(name: "Main", bundle: nil)
let viewController = storyboard.instantiateViewController(withIdentifier: "controllerIdentifier") as! YourController
self.present(viewController, animated: true, completion: nil)
и если вы хотите нажать на другой контроллер (если он находится в навигации)
let storyboard = UIStoryboard(name: "Main", bundle: nil)
let viewController = storyboard.instantiateViewController(withIdentifier: "controllerIdentifier") as! YourController
self.navigationController?.pushViewController(viewController, animated: true)
Swift 3.0 в
один контроллер просмотра для второго монитора управления:
let loginVC = UIStoryboard(name: "Main", bundle: nil).instantiateViewController(withIdentifier: "MsgViewController") as! MsgViewController
self.navigationController?.pushViewController(loginVC, animated: true)
2nd viewcontroller для 1-го контроля (назад) для: кнопки возврата на событие действия: -
self.navigationController?.popViewController(animated:true)
3rdviewcontroller до 1-го обзора просмотра для
self.navigationController?.popToRootViewController(animated:true)
и самая важная раскадровка в навигационной панели unclicked, убедитесь, что это действие назад выполняет