我很难为 IOS 静态库定义正确的绑定。包含文件包含一些扩展方法,定义为:
#import <Foundation/Foundation.h>
@interface UIView(LayerEffects)
// set round corner
- (void) setCornerRadius : (CGFloat) radius;
// set inner border
- (void) setBorder : (UIColor *) color width : (CGFloat) width;
// set the shadow
// Example: [view setShadow:[UIColor blackColor] opacity:0.5 offset:CGSizeMake(1.0, 1.0) blueRadius:3.0];
- (void) setShadow : (UIColor *)color opacity:(CGFloat)opacity offset:(CGSize) offset blurRadius:(CGFloat)blurRadius;
@end
Monotouch 文档(Binding Class Extensions)不是很清楚如何实际处理这个问题。
这也应该定义为扩展 C# 方法吗?还是我们必须在“LayerEffects”类中定义它?
更新以下映射不起作用:
[BaseType (typeof (UIView))]
interface LayerEffects{
[Bind ("setCornerRadius:")]
void SetCornerRadius ([Target] UIView uiView, float width);
[Bind ("setBorder:width")]
void SetBorder ([Target] UIView uiView, UIColor color, float width);
[Bind ("setShadow:opacity:offset:blurRadius")]
void SetShadow ([Target] UIView uiView, UIColor color, float opacity, SizeF offset, float blurRadius);
}