Xamarin.iOS-无法从另一个视图控制器中加载视图控制器

问题描述 投票:0回答:1

我最近开始使用Xamarin进行开发,所以我绝不是专家,现在已经在这个问题上停留了大约一天。

首先,我没有使用情节提要。我正在创建自己的自定义视图(xib)并从代码中加载它们

我正在构建一个新的Xamarin.iOS应用,并试图从另一个视图控制器中加载视图控制器。最初,我是从AppDelegate加载第一个控制器,如下所示:

        public override bool FinishedLaunching(UIApplication application, NSDictionary launchOptions)
        {
            window = new UIWindow(UIScreen.MainScreen.Bounds);
            appStartUpController = new AppStartUpController();
            window.RootViewController = appStartUpController;
            window.MakeKeyAndVisible();

            return true;
        }

这会很好地加载我的AppStartUpController,这基本上只是一个带有背景图像的加载屏幕,而在后台进行API调用时则加载动画。 API调用完成后,我想加载另一个视图控制器。

API调用完成后,我尝试像这样加载下一个Controller:

            var controller = new CityPickerViewController();
            this.NavigationController.PushViewController(controller, false);

这是我的CityPickerViewController:

    public partial class CityPickerViewController : UIViewController
    {
        CityPicker_View v;
        public CityPickerViewController(IntPtr handle) : base(handle)
        {
        }

        public CityPickerViewController ()
        {
        }
        public override void ViewDidLoad()
        {
            base.ViewDidLoad();
            v = CityPicker_View.Create();
            this.View = v;
        }

        public override void ViewWillAppear(bool animated)
        {
            base.ViewWillAppear(false);
            UIImage i = UIImage.FromFile("citypickbackground.jpg");
            i = i.Scale(this.View.Frame.Size);

            this.View.BackgroundColor = UIColor.FromPatternImage(i);
        }
    }

我可能在这里缺少明显的东西,但是不会加载CityPickerViewController。如果我在代码中放置一个断点,则viewDidLoad / ViewWillAppear重写将永远不会被命中。

我是一名菜鸟程序员,因此一定会感谢您提供的所有提示。预先感谢!

xamarin view uiviewcontroller xamarin.ios xib
1个回答
0
投票

欢迎您!

请尝试base.NavigationController.PushViewController(controller, true);,因为您没有本地导航控制器。

您的CityPickerViewController中也可能有问题,因此如果不起作用,请尝试使用其他ViewController。

© www.soinside.com 2019 - 2024. All rights reserved.