Навигационный контроллер Xamarin.ios

#xamarin.ios #uinavigationcontroller

#xamarin.ios #uinavigationcontroller

Вопрос:

Я использую контроллеры навигации для управления раскадровками моего проекта xamarin.ios, я нахожусь в ситуации, когда из таблицы динамических прототипов (с настраиваемой ячейкой источника таблицы) мне приходится переключаться на viewcontroller, управляемый с помощью NavigationControllers, таким образом, если панель навигации не отображается, я теряю возможность вернуться к предыдущему контроллеру.

 public void ApriStoryBoard(string x)
    {
        var storyboard = UIStoryboard.FromName("Main", null);
        var viewController = storyboard.InstantiateViewController(x); // Your view controller here

        UIApplication.SharedApplication.KeyWindow.RootViewController = viewController;
    }
  

в настоящее время я пытаюсь использовать pushViewController, но это не работает..

  public void ApriNavigationController()
    {
        ThisSchedaView x = this.Storyboard.InstantiateViewController("QuestaSchedaNav") as ThisSchedaView;
        NavigationController.PushViewController(x, true);
    }
  

Ответ №1:

При использовании NavigationController для навигации :

 NavigationController.PushViewController(secondViewController, true);
  

Вы можете использовать обратный путь к предыдущему vontroller:

  NavigationController.PopViewController(true);
 //or specify the needed controller 
 NavigationController.PopToViewController(previousController, true);
  

При использовании представления модели для перехода к следующему контроллеру следующим образом:

 PresentModalViewController(secondViewController, true);
  

Вы можете использовать следующий способ возврата к предыдущему контроллеру:

 DismissModalViewController(true);
  

================================ обновить #1=============================

При использовании NavigationCotroller для навигации, условие, что это должен быть корневой контроллер.

Например, в .Раскадровка :

введите описание изображения здесь

или в .cs коде следующим образом:

 ...
this.Window.RootViewController = new UINavigationController(xxxController);
...
  

Комментарии:

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