gpt4 book ai didi

ios - MonoTouch : UITableViewController, NavigationController 在 NavigationController.PushViewController 之后为空

转载 作者:行者123 更新时间:2023-11-28 17:46:08 27 4
gpt4 key购买 nike

我正在使用以下策略构建一个基于窗口的(所有 UI 都以编程方式连接,没有 IB)MonoTouch 应用程序:

伪代码:

 Note: I'm not calling base.ViewDidLoad on any of the ViewDidLoad calls, 
nor calling any base constructors of any ViewController
subclass I've implemented.

AppDelegate : UIApplicationDelegate
FinishedLaunching()
window.AddSubView(tabbarController.View)

TabbarController : UITabbarController
ViewDidLoad()
ViewControllers[0] = myNavigationController

MyNavigationController : UINavigationController
ViewDidLoad()
PushViewController(myTableViewController,false)

MyTableViewController : UITableViewController
ViewDidLoad()
//Property NavigationController is NULL.

根据 developer.apple.com,应该使用名为 initWithRootController 的 ObjC init 方法创建 NavigationController,但我找不到任何与此等效的 MonoTouch。

引用 http://developer.apple.com/library/ios/#documentation/userexperience/conceptual/TableView_iPhone/TableViewAndDataModel/TableViewAndDataModel.html

MyNavigationControllers PushViewController 方法不应该自动分配 MyTableViewController 实例的 NavigationController 属性吗?为了让这个 Autowiring 继续进行,我可能缺少什么吗?

其他一切都按预期工作。非常感谢MT团队! :)

谢谢!

最佳答案

当您创建 myNavigationController 的实例时,您是怎么做到的?我相信 initWithRootController 的 C# 等价物是:

UINavigationController navController = new UINavigationController(rootViewController);

要在您的自定义 UINavigationController 中实现它,您必须按照以下行创建一个新的构造函数:

MyNavigationController(UIViewController rootViewController)
{
ViewControllers = new UIViewController[1] { rootViewController };
}

这将为您设置 rootViewController。您需要从 ViewDidLoad 方法中删除 PushViewController。通过 PushViewController 推送的任何后续 ViewController 都将自动为您设置此 NavigationController 属性。

关于ios - MonoTouch : UITableViewController, NavigationController 在 NavigationController.PushViewController 之后为空,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5851255/

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