过渡视图控制器

问题描述

我一直在看如何通过iOS或其他一些建议来做到这一点,但是没有一个我有用。看起来有希望的那个也不起作用!我想做的是让用户登录到该软件。一旦他们登录,它将进入另一个视图控制器并隐藏登录视图控制器。如果有更好的方法可以做到这一点,我很想听听,因为我仍在学习所有这一切。我所做的是在Xcode中创建了一个名为MainViewController的新视图控制器,我还有另一个视图控制器,它是loginViewController且是启动控制器。在Visual Studio中,我创建了一个视图控制器文件,该文件为我提供了MainView和MainViewController.cs。我向登录视图控制器添加一个按钮,然后在按钮事件中添加了以下代码

partial voide btnLogin(NSObject sender)
{
     this.View.Superview.AddSubView(new MainViewController().View);
     this.View.RemoveFromSuperview();
}

运行此命令时,所有操作都会使按钮消失,并且不会移至其他视图控制器并隐藏自身。当我添加segue时,它将移至另一个视图控制器,但保持登录控制器处于打开状态。

我对此感到非常迷茫,希望有人能引导我朝正确的方向前进!

感谢您的协助!

解决方法

我想做的是让用户登录到该软件。一旦 他们登录后,将进入另一个视图控制器并隐藏 登录视图控制器。

您可以通过更改rootViewControlle在不同的视图控制器之间切换:

public void BtnLogin(NSObject sender)
{

    UIApplication.SharedApplication.KeyWindow.RootViewController = new MainViewController();

}

在Xamarin.Mac中,应该是这样的:

public void BtnLogin(NSObject sender)
{
        MainViewController vc = new MainViewController();
        vc.View.Window.BackgroundColor = UIColor.Blue;
        NSApplication.SharedApplication.KeyWindow.ContentViewController = vc;
}

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...