c# - 如何更改为另一个 View Controller

标签 c# ios xamarin viewcontroller

这可能是一个愚蠢的问题,但由于我在其他地方找不到答案,所以我会在这里问。

我的问题是:如何更改正在查看的 View Controller 。在我的例子中,我希望用户打开应用程序,如果用户尚未填写设置表单,应用程序将从主页更改为设置页面.

public override void ViewDidLoad()
{
    base.ViewDidLoad();
    //Initial setup check
    dataBase.SetBool(false, "setUpComplete");

    if (dataBase.BoolForKey("setUpComplete") == false)
    {      
    }
    else
    {            
    }
}

感谢所有决定回答这个问题的人!

编辑

我的问题解决如下。我必须将导航 Controller Root 到主页,然后使用下面的代码确保其他类的 ViewDidLoad 无效。

public override void ViewDidLoad()
{
    base.ViewDidLoad();
    //Initial setup check
    dataBase.SetBool(false, "setUpComplete");

    if (dataBase.BoolForKey("setUpComplete") == false)
    { 
        SetupViewController screenTwo = this.Storyboard.InstantiateViewController("SetupViewController") as SetupViewController;
        this.NavigationController.PushViewController(screenTwo, true);
    }
}

最佳答案

这就是在 Swift 4 中用代码呈现 View Controller 的方式:

let storyboard = UIStoryboard(name: "Main", bundle: nil)
if let vc = storyboard.instantiateViewController(withIdentifier: IdentifierOfTheVC) as? YourVC {
    self.present(vc, animated: true, completion: nil)
}

您可以通过转到 YourVC 的身份检查器来设置 Storyboard ID,然后填写 Storyboard ID 字段。

关于c# - 如何更改为另一个 View Controller ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51642578/

相关文章:

c# - "System.Tuple defined multiple times issue"怎么解决?

c# - 什么时候应该在 C# 中使用 as 关键字

ios - 在iOS上进行动量滚动(-webkit-overflow-scrolling)可以进行其他所有操作

android - 使用 Xamarin.Forms 和 Serilog 将日志写入文件

c# - 在 Collection View 中增量加载数据

c# - 延迟时间密码的最佳方法?

c# - Queue.Synchronized 比使用 Lock() 更快吗?

ios - 单击 UICollectionView 中的自定义单元格时如何触发 segue

ios - 为覆盖 ViewController 方法提供默认实现,但前提是 Controller 符合协议(protocol)

ios - 如何修复 iOS 中的 'EXC_CRASH (SIGABRT)' 崩溃