Xamarin.forms 转换视图控制器

Xamarin.forms 转换视图控制器,xamarin.forms,xamarin.mac,Xamarin.forms,Xamarin.mac,我一直在研究如何使用iOS或其他一些建议来做到这一点,但它们都不适合我。看起来很有希望的那个也没用!我试图做的是让用户登录到软件。一旦他们登录,它将移动到另一个视图控制器并隐藏登录视图控制器。如果有更好的方法,我很乐意听到,因为我仍然在学习这一切。我所做的是在Xcode中,我创建了一个名为MainViewController的新视图控制器,还有另一个视图控制器,它是loginViewController,是启动控制器。在visual studio中,我创建了一个视图控制器文件,该文件为我提供了M

我一直在研究如何使用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;
}

所以当我把它放在按钮中,当我点击按钮时,它消失了,仍然没有显示视图控制器。另一个视图控制器我有一个按钮,它的文本中有“main”,但我得到了一个黑屏。我做错什么了吗<代码>我有一个文本中有“main”的按钮,您确定已将此按钮添加到MainViewController吗?查看我的更新答案,检查是否有蓝色背景的MainViewController。我想我是怎么搞砸的。当我尝试执行上面的代码时,它将不允许我键入vc.View.Background。因此,可能我没有正确添加视图控制器。我进入了Xamarin,在Mac部分下添加了一个新的ViewController,并将其命名为MainView。然后我进入Xcode,在其中的项目中添加一个视图控制器。我错过了什么?Xamarin.Mac的在线指南不多,很不幸,我在这方面遇到了困难!尝试一下
vc.View.Window.BackgroundColor
@JackHua MSFT它没有解决问题!