Ios 卡巴斯基化不';不能在64位设备上工作
我想将文本添加到视频中,因此我遵循本教程: 雷的教程- 我只想在视频的前5秒显示我的文本,因此我添加了以下代码:Ios 卡巴斯基化不';不能在64位设备上工作,ios,ios7,cabasicanimation,avassetexportsession,Ios,Ios7,Cabasicanimation,Avassetexportsession,我想将文本添加到视频中,因此我遵循本教程: 雷的教程- 我只想在视频的前5秒显示我的文本,因此我添加了以下代码: subtitleText.opacity=1.0; CABasicAnimation *animationMid = [CABasicAnimation animationWithKeyPath:@"opacity"]; [animationMid setDuration:Video.duration-5]; [animationMid setFr
subtitleText.opacity=1.0;
CABasicAnimation *animationMid = [CABasicAnimation animationWithKeyPath:@"opacity"];
[animationMid setDuration:Video.duration-5];
[animationMid setFromValue:[NSNumber numberWithFloat:0.0]];
[animationMid setToValue:[NSNumber numberWithFloat:0.0]];
[animationMid setBeginTime:5];
[animationMid setFillMode:kCAFillModeRemoved];
[subtitleText addAnimation:animationMid forKey:@"animationOpacity"];
在32位模拟器、iPhone4、iPhone4S上,一切都很完美,但当我部署在iPhone5s或64位模拟器上时,视频中的文本不会在5秒钟后消失
我一直在搜索,但没有文件提到这个问题。请帮忙
编辑:
我承认这段代码看起来很奇怪,但它在iPhone4/4S上起作用。起初,我是这样写的,但(在任何设备上)都不起作用:
这是一个奇怪的方式来实现你想要的。取而代之的是一个5秒长的动画,它几乎贯穿整个视频。尽管如此,你还是很有创意,但你根本没有制作动画——你想要的是在5秒后隐藏文本 为什么不在延迟5秒后呼叫一个街区
subtitleText.opacity = 1.0;
dispatch_after(dispatch_time(DISPATCH_TIME_NOW, 5 * NSEC_PER_SEC), dispatch_get_main_queue(), ^{
subtitleText.opacity = 0.0;
});
这是一个看起来很奇怪的动画。例如,
toValue
和fromValue
是相同的。另外,开始时间应该是CACurrentMediaTime+theDelay
代码>但是没有运气。另请参阅我的编辑,了解有关奇怪代码的解释这是一种在动画完成后调用代码的非常糟糕的方法!请解释一下?因为没有动画。OP使用的是CABASICanimation。我的回答建议替换整个动画。在我的回答中没有动画片。
subtitleText.opacity = 1.0;
dispatch_after(dispatch_time(DISPATCH_TIME_NOW, 5 * NSEC_PER_SEC), dispatch_get_main_queue(), ^{
subtitleText.opacity = 0.0;
});