MonoTouch的 - 如何重写静态UIView.layerClass(MonoTouch - h

2019-09-28 05:39发布

我试图端口AUISelectiveBordersView到MonoTouch的。 它基本上是一个子类CALayer和整合UIView通过类别。

AUISelectiveBordersLayer的“翻译”很容易,但结合点是有点棘手。 在OBJ-C,它的完成,如:

@implementation UIView (AUISelectiveBorder)

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

有什么办法来翻译这MonoTouch的? 它看起来像重写静态方法,但我没有看到像什么layerClasslayerType的MT。

Answer 1:

幸好我发现,它通过UIView的子类作品:

public class UIViewWithSelectiveBorders : UIView {

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

在这足以让我的任务,但更普遍的问题仍然是实际的时刻:有没有办法改变,如果没有继承UIView (例如,如果我希望覆盖所有UILabel S)



文章来源: MonoTouch - how to override static UIView.layerClass