2016-03-24 13 views
0

を持っていません。XamarinのiOS UIViewのは、私は現在、<code>Xamarin</code><code>iOS</code>に<code>XCode</code>/<code>Swift</code>で<code>iOS</code>アプリを翻訳していませDrawLayerオーバーライド

既存のスワイプコードには、UIViewから継承し、drawLayer funcをオーバーライドするカスタムコントロールがあります。

ただし、私のUIViewカスタムコントロールの同じメンバをXamarinに上書きしようとすると、オーバーライドされません。

私が間違っていることを解決するのに助けてくれる人がいますか?

おかげ

答えて

1

この方法では、CALayerのクラス自体を使用する必要があり、これを使用するために直接存在していません。

public class BlueView : UIView 
{ 
    [Export ("layerClass")] 
    public static Class GetLayerClass() 
    { 
     return new Class (typeof (BlueLayer)); 
    } 

    public override void Draw (RectangleF rect) 
    { 
     // Do nothing, the Layer will do all the drawing 
    } 
} 

public class BlueLayer : CALayer 
{ 
    public override void DrawInContext (CGContext ctx) 
    { 
     ctx.SetFillColor (0, 0, 1, 1); 
     ctx.FillRect (Bounds); 
    } 
} 

参考:

CALayer Details

CALayer With UIView

+0

華麗な - 感謝 –

関連する問題