У меня следующий код, вызываемый для представления метода viewdidload внутри моего UIViewController.
Внутри appdelegate у меня есть UINavigationController, который создается с помощью этого вышеупомянутого контроллера, и, в свою очередь, UINavigationController находится внутриUITabViewController, который, в свою очередь, назначается как rootviewcontroller.
Внутри контроллера я делаю асинхронный веб-вызов, чтобы получить данные для заполнения таблицы, если я использую код загрузочного представления для отображения индикатора активности Iполучите следующее предупреждение в монотуше.
Ожидается, что приложения будут иметь контроллер корневого представления в конце запуска приложения
public class LoadingView : UIAlertView
{
private UIActivityIndicatorView _activityView;
public void ShowActivity (string title)
{
Title = title;
this.Show();
// Spinner - add after Show() or we have no Bounds.
_activityView = new UIActivityIndicatorView (UIActivityIndicatorViewStyle.WhiteLarge);
_activityView.Frame = new RectangleF ((Bounds.Width / 2) - 15, Bounds.Height - 50, 30, 30);
_activityView.StartAnimating ();
AddSubview (_activityView);
}
public void Hide ()
{
DismissWithClickedButtonIndex (0, true);
}
}
Любые указатели будут с благодарностью приняты.
РЕДАКТИРОВАТЬ: Я уже настраиваю контроллер корневого представления.
window = new UIWindow (UIScreen.MainScreen.Bounds);
window.RootViewController = tabController;
Полный код приложения: Легальный код:
public override bool FinishedLaunching (UIApplication app, NSDictionary options)
{
// create a new window instance based on the screen size
window = new UIWindow (UIScreen.MainScreen.Bounds);
tabController = new UITabBarController();
jobsNavigationController = new UINavigationController(new JobsController());
jobsNavigationController.NavigationBar.BarStyle = UIBarStyle.Black;
jobsNavigationController.TabBarItem.Image = UIImage.FromFile("Images/briefcase.png");
jobsNavigationController.TabBarItem.Title = "Current Positions";
myAccountNavigationController = new UINavigationController(new LoginDialogViewController());
myAccountNavigationController.NavigationBar.BarStyle = UIBarStyle.Black;
myAccountNavigationController.TabBarItem.Image = UIImage.FromFile("images/man.png");
myAccountNavigationController.TabBarItem.Title = "My Account";
tabController.SetViewControllers(new UIViewController[] { jobsNavigationController,myAccountNavigationController,new SettingsDialogViewController()},false);
window.RootViewController = tabController;
// make the window visible
window.MakeKeyAndVisible ();
return true;
}