1

我正在尝试使用 Xamarin Studio 4.0.12 (build 3) 为 iOS 编写一个简单的应用程序。

我有一个“家” UIViewController,它是第一个添加到rootNavigationController.

主页有一个按钮,用于显示“登录”或“创建帐户”视图,两者均基于DialogViewController. 这些显示this.NavigationController.PushViewController在响应主页视图按钮按下的调用中(因此“this”是主页实例)。

当用户关闭登录对话框时,会回调 Home,并在该代码this.NavigationController.PopViewControllerAnimated中将对话框从视图堆栈中删除。

然后,再次调用以this.NavigationController.PushViewController显示登录后可以看到的详细信息。

问题是从不显示详细视图。我已经在调试器中逐步完成,可以看到以NavigationController正确的顺序具有适当的视图。

这是回调中的实际代码:

private void OnShowSigninScreenClose(string username, string password)
{
    try
    {
        this.NavigationController.PopViewControllerAnimated(true); 
        ReceiptsScreen receiptsScreen = new ReceiptsScreen ();
        this.NavigationController.PushViewController (receiptsScreen, true);
    }
    catch (Exception ex) {
        Alert ("CaptionError".Localized (), ex.Message);
    }
}

如果我删除了PopViewControllerAnimated对详细信息屏幕的调用,则会显示,但导航栏有一个按钮可以返回登录屏幕。我真的想用视图堆栈中的详细信息屏幕替换登录屏幕。

任何建议将不胜感激。

4

1 回答 1

0

将 PushViewController 替换为 PresentViewController。

this.PresentViewController(receiptsScreen,true, null);
于 2013-08-31T02:03:51.903 回答