由于没有简单的方法在 Appcelerator 中添加多图像选择,我想将这个项目:WSAssetPickerController - https://github.com/w5mith/WSAssetPickerController合并到我的 Appcelerator 项目中。
我能够在 XCode/ObjC 中创建一个简单的自定义模块,并从 Appcelerator 调用它,但我不确定如何调用具有诸如 WSAssetPickerController 之类的 UI 的代码。任何提示将不胜感激。
这是我现在正在工作的一些代码。这几乎是 ObjC 实现类中包含的样板 Appcelerator 自定义模块内容: https ://gist.github.com/3976969
然后在我的 Appclerator 项目中,我像这样加载这个模块:
// in app.js
var myModule = require('com.example.test');
Ti.API.info("--->module loaded is ---> "+myModule);
// in testing.js
function createFoo() {
myModule.sayHello();
}
因此,有了这个,我就可以在 ObjC 中创建一个自定义模块,将它加载到 Appcelerator 并在其上调用一个方法。
我现在想要开源模块 WSAssetPickerController - 但是,这比我的 sayHello() 方法要复杂得多,因为它包含需要从 Appcelerator 加载和显示的用户界面视图。文档说要将“src”目录中的所有代码(我已经完成)包含到我的 ObjC 项目中,然后使用这样的代码来加载它:
WSAssetPickerController *controller = [[WSAssetPickerController alloc] initWithDelegate:self];
[self presentViewController:controller animated:YES completion:NULL];
但是,这对我不起作用。在 XCode 中,我在第一行收到编译器警告:“将 'ComExampleTestModule *' 发送到不兼容类型 'id 的参数
更新:经过一些更改后,我现在拥有:我将 ComExampleTestModule.h 中的 @interface 行修改为:
@interface ComExampleTestModule : TiModule <WSAssetPickerControllerDelegate>
我添加了这个导入语句:
#import "WSAssetPicker/WSAssetPicker.h"
但我仍然在我的 .m 文件中收到编译器警告,如下所示:“找不到实例方法'-dismissViewControllerAnimated:completion'(返回类型默认为'id'......。
谢谢您的帮助。