我正在尝试使用Xamarin Studio 4.0.12(版本3)为iOS编写一个简单的应用程序。
我有一个“主页”UIViewController
,这是第一个被添加到rootNavigationController
。
Home有一个按钮,用于显示基于DialogViewController
的“登录”或“创建帐户”视图。这些显示时会调用this.NavigationController.PushViewController
以响应主页视图按钮(因此“此”是主页实例)。
当用户取消登录对话框时,会进行回调,并在该代码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
的呼叫,则会显示详细信息屏幕,但导航栏上有一个按钮可返回登录屏幕。 我真的想用视图堆栈中的详细信息屏幕替换登录屏幕。
任何建议都将不胜感激。
答案 0 :(得分:0)
使用PresentViewController替换PushViewController。
this.PresentViewController(receiptsScreen,true, null);