Позвоните в другой класс IOS

Я новичок на платформе IOS, и после небольшого изучения того, как это работает, у меня возникли сомнения относительно того, как вызвать новый класс / представление и наложить текущий вид при нажатии кнопки. В Android я делаю:

Intent intent = new Intent(a.class, b.class);
startActivity(intent);

Ища в интернете, я заметил, что для этого мне нужно использовать навигационные панели. Я запускаю приложение с контроллером панели вкладок и ставлю навигационный контроллер. Я использовал код ниже:

UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"Storyboard" bundle:nil];
UIViewController *myController = [storyboard instantiateViewControllerWithIdentifier:@"Dicas"];
[self.navigationController pushViewController: myController animated:YES];

и возвращение:Есть ли способ наложения текущего вида? Мне всегда нужно использовать навигационные панели для вызова другого класса (использование нижних верхних контроллеров сделает мое приложение безобразным)?

4 ответа

Решение

Чтобы скрыть панель навигации:

[[self navigationController] setNavigationBarHidden:YES animated:YES];

Чтобы скрыть панель вкладок:

yourViewController.hidesBottomBarWhenPushed = YES;

Вы также можете вызвать другой viewController, используя функцию presentViewController класса viewController.

[self presentViewController: myController animated:YES completion:nil];

Как вы сказали, вы хотите наложить ваш текущий вид, поэтому не уверены, но вы можете показать свой контроллер вида, используя вид модели следующим образом

yourViewController *secView = [[YourViewController alloc] initWithNibName:@"YourViewController" bundle:nil];
[secView setModalPresentationStyle:UIModalPresentationPageSheet];//u can use different UIModalPresentationStyle
[secView setModalTransitionStyle:UIModalTransitionStyleCoverVertical];
[self.navigationController presentViewController:secView animated:YES completion:nil];

Выше будет отображаться ваш контроллер представления поверх существующего контроллера представления, после того, как вы его представили, вам нужно предусмотреть возможность отклонения этого модального представления.

Простой способ представить новый класс или ViewController, как это..

  ViewController *view = [self.storyboard instantiateViewControllerWithIdentifier:@"ViewController"];
  [self presentViewController:view animated:YES completion:nil];
Другие вопросы по тегам