我想建立一个将图片旋转90度的钛金属应用程序。我的视图显示了imageView和我想用来旋转按钮的按钮。但我总是得到“未定义的”#39;错误。请参阅下面的代码和日志:
var image;
var imageSet = false;
var file = Titanium.Filesystem.getFile(Titanium.Filesystem.applicationDataDirectory, "savedChallengeImage.jpeg");
if(file) {
$.picture.setImage(file);
image = file;
imageSet = true;
}
function rotate() {
if (imageSet) {
var t = Titanium.UI.create2DMatrix();
var spin = Titanium.UI.createAnimation();
t = t.rotate(90);
spin.transform = t;
file.animate(spin);
}
}
编辑:我已将文件对象更改为图像对象,但其行为方式相同。我是否正确获取了图像对象?
image = $.picture.getImage();
image.animate(spin);
我的日志:
[ERROR] : Script Error {
[ERROR] : backtrace = "#0 () at :0";
[ERROR] : line = 17;
[ERROR] : message = "'undefined' is not a function (evaluating 'file.animate(spin)')";
[ERROR] : name = TypeError;
[ERROR] : sourceId = 319168864;
[ERROR] : sourceURL = "file:///Users/rellerkmann/Library/Developer/CoreSimulator/Devices/97B059B3-D010-402B-834F-E2647DC8BBC9/data/Containers/Bundle/Application/BB7A6057-D27E-4AB3-92AB-051BE30087BE/RegApp.app/alloy/controllers/challengePicturePage.js";
[ERROR] : }
答案 0 :(得分:1)
根据文档,File对象没有animate方法。您必须使用ImageView对象。
你也可以在这里查看参考: https://developer.appcelerator.com/question/84171/rotate-an-image-around-its-center