MonoTouch - 如何覆盖静态UIView.layerClass

时间:2012-11-21 05:59:11

标签: objective-c xamarin.ios static-methods

我正在尝试将AUISelectiveBordersView移植到MonoTouch。 它基本上是CALayer的子类,并通过类别集成在UIView中。

AUISelectiveBordersLayer的“翻译”很容易,但集成点有点棘手。在obj-c中它完成如下:

@implementation UIView (AUISelectiveBorder)

+(Class) layerClass {
    return [AUISelectiveBordersLayer class];
}

有没有办法将其翻译成MonoTouch?它看起来像覆盖静态方法,但我在MT中看不到layerClasslayerType之类的内容。

1 个答案:

答案 0 :(得分:4)

幸运的是我发现它可以通过子类化UIView来实现:

public class UIViewWithSelectiveBorders : UIView {

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

目前这对我的任务来说已经足够了,但是更普遍的问题仍然存在:有没有办法在没有子类UIView的情况下改变它(例如,如果我想覆盖所有{{1} }} S)