2013-05-27 11 views
5

Widzę to w wielu projektach, które demonstrują użycie CAEmitterLayer, ale w jaki sposób tłumaczy się na MonoTouch aka Xamarin.iOS?Jak zaimplementować + (Class) layerClass w Xamarin.iOS?

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

wiem, że mogę używać UIView.Layer.AddSubLayer() ale wydaje się, że wpływ na wydajność.

Odpowiedz

11

Myślę, że należy ujawnić go do środowiska wykonawczego Obj jak poniżej.

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

Aby uzyskać więcej informacji, patrz MonoTouch... CATiledLayer example.

Mam nadzieję, że to pomaga.

P.S. Sprawdź kod. Napisałem bez wsparcia Xamarin Studio.

+0

Działa! Dzięki! Co ciekawe, klasa warstw nie potrzebuje ani IntTtr, ani RegisterAttribute. – Krumelur

+0

Nie ma za co. Miałem takie samo doświadczenie z klasą 'UIPopoverBackgroundView'. –

+0

@Krumelur Zaznacz moją odpowiedź jako poprawną, jeśli chcesz;) –