【问题标题】:How to implement +(Class) layerClass in Xamarin.iOS?如何在 Xamarin.iOS 中实现 +(Class) layerClass?
【发布时间】:2013-05-22 17:37:03
【问题描述】:

我在许多演示使用 CAEmitterLayer 的项目中都看到了这一点,但它如何转化为 MonoTouch aka Xamarin.iOS?

+ (Class) layerClass 
{
    //configure the UIView to have emitter layer
    return [CAEmitterLayer class];
}

我知道我可以使用UIView.Layer.AddSubLayer(),但似乎会影响性能。

【问题讨论】:

    标签: c# xamarin.ios uikit core-graphics calayer


    【解决方案1】:

    我认为您需要将其暴露给 Obj 运行时,如下所示。

    [Export ("layerClass")]
    public static Class LayerClass () {
      return new Class (typeof (CAEmitterLayer));
    }
    

    欲了解更多信息,请查看MonoTouch... CATiledLayer example

    希望对你有帮助。

    附:检查代码。我在没有 Xamarin Studio 支持的情况下编写。

    【讨论】:

    • 有效!谢谢!有趣的是,图层类既不需要 IntPtr c'tor,也不需要 RegisterAttribute。
    • 不客气。我在UIPopoverBackgroundView 课堂上也有同样的经历。
    • 在将答案标记为正确之前有 5 分钟的延迟。 :-)
    • @Krumelur 我不知道这一点。谢谢。 ;)
    • 还有一点需要注意:它确实解决了性能问题。与使用 AddSubLayer() 时的可见延迟相比,粒子现在无延迟地跟随我的手指
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-04-09
    • 2021-11-19
    • 2023-03-11
    • 2016-10-22
    • 1970-01-01
    • 2017-11-01
    相关资源
    最近更新 更多