【问题标题】:Embedded Xamarin.Forms View empty on IOSIOS 上的嵌入式 Xamarin.Forms 视图为空
【发布时间】:2018-01-03 22:00:45
【问题描述】:

我有一个 Android 和 IOS 版本的 Xamarin 应用程序。由于 Xamarin Forms 现在支持将表单页面嵌入本机页面,因此我开始构建共享 UI。现在我有一个页面,它显示一些信息并将其作为片段集成到 Android 上,它可以正常工作。

当我尝试将它添加为 IOS 上的子视图时,它没有任何内容。我创建了一个继承自 MvxViewController 并覆盖 ViewDidLoad 和 ViewDidLayoutSubviews 的新 ViewController。

    UIViewController earlyLabelViewController;

    public override void ViewDidLoad()
    {
        base.ViewDidLoad();
        earlyLabelViewController = new Business.Views.EarlyLabelView { BindingContext = ViewModel }.CreateViewController();
        View.AddSubview(earlyLabelViewController.View);
    }

    public override void ViewDidLayoutSubviews()
    {
        earlyLabelViewController.View.Frame = View.Bounds;
    }

当我添加一个有效的新标签时。此外,如果我只是用以下代码显示视图控制器,它也有内容。

PresentViewController(earlyLabelViewController, true, null);

我做错了什么,这没有显示任何内容?

【问题讨论】:

    标签: ios xamarin xamarin.forms xamarin.ios


    【解决方案1】:

    我找到了解决方案。我将 ViewDidAppear 方法中的代码替换为以下内容:

    earlyLabelViewController = new Business.Views.EarlyLabelView { BindingContext = ViewModel }.CreateViewController();
    earlyLabelViewController.WillMoveToParentViewController(this);
    View.Add(earlyLabelViewController.View);
    AddChildViewController(earlyLabelViewController);
    earlyLabelViewController.DidMoveToParentViewController(this);
    

    【讨论】:

    • 我刚遇到这个问题。我只需要打电话给AddChildViewController,我不需要打电话给WillMoveToParentViewController和DidMoveToParentViewController。
    猜你喜欢
    • 2021-12-11
    • 1970-01-01
    • 2014-04-16
    • 1970-01-01
    • 1970-01-01
    • 2018-10-17
    • 2017-08-06
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多