我正在使用android和iOS应用程序来使用Phonegap和jQuery mobile。我想做一个类似的应用程序 这个应用程序:https://play.google.com/store/apps/details?id=jp.co.supersoftware.mangacamera&hl=vi
现在我遇到了自定义相机的问题。你帮我吗?或建议类似的解决方案。
感谢提前
答案 0 :(得分:3)
我已经写了tutorial来了解如何为iOS构建自定义相机作为PhoneGap插件。它归结为JavaScript中的这样一个表达式:
cordova.exec(function(){
console.log("success", arguments);
}, function(){
console.log("failure", arguments);
}, "CustomCamera", "openCamera", []);
这实质上是在Objective-C中调用[CustomCamera openCamera:command]
。您只需要CustomCamera
类扩展CDVPlugin
并实施openCamera
方法。
iOS中的主要相机界面为UIImagePickerController。在openCamera方法中,您可以将UIImagePickerController作为模态视图打开。 UIImagePickerController有一个委托方法,在捕捉图片时调用。在这个委托方法中,您需要执行以下操作:
[self.commandDelegate
sendPluginResult:[CDVPluginResult
resultWithStatus:CDVCommandStatus_OK
messageAsString:imagePath]
callbackId:self.latestCommand.callbackId];
其中self.latestCommand
是对command
传递给openCamera
的{{1}}参数的引用。这将调用cordova.exec
中的成功函数(第一个参数)。
请注意,为了使其正常工作,您需要将以下内容添加到config.xml
:
<feature name="CustomCamera">
<param name="ios-package" value="CustomCamera" />
</feature>
希望有所帮助!
答案 1 :(得分:0)
我希望我能正确理解你的问题,并希望自定义带有phonegap的相机插件。
在这种情况下,请按照Cordova Camera Docs上的说明操作。可选参数cameraOptions确实为您提供了一系列配置相机的可能性。
如果这些可能性不足以满足您的目的,您可能需要下载相机插件的来源并更改插件本身。这需要更多的时间和精力。但是,如果您愿意这样做,这些链接可能会对您有所帮助: