【问题标题】:Custom video page for xamarin iosxamarin ios 的自定义视频页面
【发布时间】:2018-03-19 05:09:50
【问题描述】:

我创建了一些由视频播放器组成的项目。对于 Xamarin android,我通过消息中心实现。

android 上:

页面(xamarin 表单)->单击按钮和向MainActivity发送消息 -> 通过意图调用 MyVideoActivity

使用 android 一切正常。

但我也是 ios 和 xamarin ios 的新手。

我不知道通过 messaging centerxamarin ios 中实现相同功能是否真实?我也想使用 .xib 文件(带有 ui,取自 Xcode)。我不确定如何实现它。我想通过消息中心 -> 使用我的 .xib 文件调用 custom ViewController 来实现。 是真的吗?

附言我找到了一些关于 PageRenderer 的示例,但不要对其进行调查。我不确定它是否适合我。

【问题讨论】:

    标签: xamarin xamarin.ios xamarin.forms xamarin.android


    【解决方案1】:

    在您的MessagingCenter.Subscribe lambda 中调用以下方法:

    基于 XIB 的 ViewController:

    var vc = new XIBBasedViewController();
    // Set any public properties / call methods on your `XIBBasedViewController`
    InvokeOnMainThread(() => UIApplication.SharedApplication.Windows[0].RootViewController.PresentViewController(vc, true, null));
    

    基于故事板的 ViewController:

    var storyboard = UIStoryboard.FromName("StoryBoardFileNameMinusExtension", null);
    var vc = storyboard.InstantiateViewController("AStoryBoardIDAssignedToYourViewController") as AViewControllerSubClass;
    // Set any public properties / call methods on your `AViewControllerSubClass`
    InvokeOnMainThread(() => UIApplication.SharedApplication.Windows[0].RootViewController.PresentViewController(vc, true, null));
    

    注意:设置您的消息中心订阅的好地方是AppDelegate 类的FinishedLaunching

    【讨论】:

    • 感谢您的帮助,但我无法使用 .xib 文件在 ViewConroller 中显示 UI。我使用这个例子 stackoverflow.com/a/37762881/3521689 ,但是在 AppDelegate.cs 中出现异常(System.Reflection.TargetInvocationException:异常已被调用的目标抛出。---> Foundation.MonoTouchException:Objective-C 异常抛出。名称:NSUnknownKeyException原因:[ setValue:forUndefinedKey:]:这个类对 onStopOutlet 键的键值编码不兼容。)
    • @IgorLevkivskiy key onStopOutlet... 你在使用 Xcode 项目中预先存在的 xib 吗?如果是这样,您还没有在代码中创建匹配的网点。
    • 是的,你是对的,我忘了在代码中添加出口。感谢您的大力帮助,一切正常:-)
    • @IgorLevkivskiy 很高兴听到你成功了?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-01-13
    • 1970-01-01
    • 2018-04-09
    • 2022-11-08
    • 2018-04-29
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多