gpt4 book ai didi

c# - 将 DialogViewController 推送到 ViewController 到 NavigationController 堆栈上会产生 2 页

转载 作者:行者123 更新时间:2023-11-28 21:49:55 24 4
gpt4 key购买 nike

Noob Xamarin/MonoTouch.Dialog 问题:我已经在 Xamarin Studio 的 Storyboard设计器中布置了我的 iOS 应用程序。我有一个 UINavigationController,其 Root View 包含一个带有静态单元格的 UITableView,本质上是创建一个主菜单。单元格转到它们各自的 UIViewControllers。

我想使用 MonoTouch.Dialog 布局关于/设置屏幕。但是,由于我是 Xamarin/MonoTouch.Dialog 的新手,我在将整体 Storyboard方法与部分 MonoTouch.Dialogue 方法相结合时遇到了一些问题

当我在从初始 UITableView (AccountViewController) 继承的 UIViewController 上实例化一个新的 DialogViewController 时,我基本上将两个 View 添加到导航堆栈,第一个仅短暂出现,然后显示 DialogViewController。我实例化 DialogViewController 的代码是这样的:

partial class AccountViewController : UIViewController
{
public AccountViewController (IntPtr handle) : base (handle)
{
}

public override void ViewDidLoad ()
{
base.ViewDidLoad ();
var root = new RootElement ("Settings") {
new Section (){
new BooleanElement ("Airplane Mode", false),
new RootElement ("Notifications", 0, 0) {
new Section (null,
"Turn off Notifications to disable Sounds\n" +
"Alerts and Home Screen Badges for the\napplications below."){
new BooleanElement ("Notifications", false)
}
}}
};
var dialog = new DialogViewController (root, true);
this.NavigationController.PushViewController (dialog, true);
//this.NavigationController.PresentViewController (dialog, true, null); tried this but then the UINavigationController shows no back buttons
//View.AddSubview (dialog.View); tried this but then the UINavigationController shows no back buttons
}
}

我可能将 DialogViewController 推到堆栈的后期,创建中间空白屏幕,但我无法确定在我当前的架构下将 DialogViewController 插入导航堆栈的正确位置。互联网上的大多数样本几乎都是 100% MonoTouch.Dialog,没有 Storyboard...

谢谢!

最佳答案

您正在尝试将另一个 ViewController(在本例中为 DialogViewController)推送到导航堆栈,而您当前的 ViewController 仍在尝试加载。换句话说,在您的 ViewDidLoad 中这样做是不好的。您将不得不等到当前的 ViewController 完成加载并获得焦点,然后才能将另一个 View Controller 插入堆栈。

部分使用 Storyboard涉及其中内置的导航。我可以安全地假设您的“AccountViewController”真的什么都不做吗?在那种情况下,我不会继续下去。而不是在您以前的 View Controller 上,只需创建您的 DialogViewController,然后手动将其推送到堆栈上。不看 Storyboard和架构就很难说。

关于c# - 将 DialogViewController 推送到 ViewController 到 NavigationController 堆栈上会产生 2 页,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28707216/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com