我已经按照演练来链接来自their site的Xamarin中的ObjC库。
我正在将#34;无法识别的选择器发送到实例"关闭colorpicker视图时出错。
在关闭InfColorPicker视图时,我发现了一些拼写错误和一些小修复,以使示例应用程序运行时出现错误。
我必须做的一个小修改是在Objective Sharper生成的StructsAndEnums.cs文件中将CGImageRef *更改为CGImage。
[DllImport ("__Internal")]
static extern unsafe CGImageRef* createSaturationBrightnessSquareContentImageWithHue (float hue);
[DllImport ("__Internal")]
static extern unsafe CGImageRef* createHSVBarContentImage (InfComponentIndex barComponentIndex, float[] hsv);
到
[DllImport ("__Internal")]
static extern unsafe CGImage createSaturationBrightnessSquareContentImageWithHue (float hue);
[DllImport ("__Internal")]
static extern unsafe CGImage createHSVBarContentImage (InfComponentIndex barComponentIndex, float[] hsv);
在我找到关于为Swift框架执行此操作的文档后,我尝试在XCode库中禁用BitCode生成。我仍然得到同样的错误。
My source这个项目。 我可以添加一个包含禁用BitCode生成的分支,如果它有用的话。
答案 0 :(得分:0)
我正在使用从Objective Sharpie输出生成的Weak Delegate。我已经将ViewController切换为使用WeakDelegate而不是Subclassed强委托。我需要在ViewController中处理colorPickerControllerDidFinish消息。
将以下函数添加到ViewController中修复了当用户点击“完成”时我得到的错误。
[Export("colorPickerControllerDidFinish:")]
public void ColorPickerControllerDidFinish(InfColorPickerController controller)
{
View.BackgroundColor = controller.ResultColor;
DismissViewController(false, null);
}