我正在尝试使用关键帧动画来淡出一系列视图。但它似乎无法在iOS 8上运行。相对的启动延迟没有按预期工作,似乎比预期提前一段时间。但是在iOS 9上它运行得很好。
我认为这与我设置视图的方式有关,但事实证明它在iOS 8中根本不起作用。我一定有些不对劲。
我有以下示例代码进行测试:
var item; // item is a file
var BYTES_PER_CHUNK = 100000;
var start = 0;
var temp_end = start + BYTES_PER_CHUNK;
var end = parseInt(item.size);
if (temp_end > end) temp_end = end;
var content = ''; // to be filled by the content of the file
var uploading_file = item;
console.log('here 1');
Promise.resolve().then(function() {
console.log('here 2');
return upload();
})
.then(function(content){
console.log('here 4');
console.log(content); // this is empty (!!)
})
.catch(function(){
console.log('stop 1')
});
function upload() {
if (start < end) {
var chunk = uploading_file.slice(start, temp_end);
var reader = new FileReader();
reader.readAsArrayBuffer(chunk);
reader.onload = function(e) {
if (e.target.readyState == 2) {
content += new TextDecoder("utf-8").decode(e.target.result);
start = temp_end;
temp_end = start + BYTES_PER_CHUNK;
if (temp_end > end) temp_end = end;
return upload();
}
}
} else {
uploading_file = null;
console.log(content); // it shows the content of the file
console.log('here 3');
return Promise.resolve(content);
}
}
因此总持续时间设置为2秒,每个视图将以0.5秒动画持续时间和0.5秒延迟淡入/淡出。
但这不适用于iOS 8.x
非常感谢任何帮助!