UIView animateWithDuration和Options提供不一致的结果

时间:2016-07-12 15:44:04

标签: ios objective-c uiview animatewithduration

要设置场景,我正在制作一个类似于吉他英雄的应用程序,但对于钢琴。注释从顶部进入,当注释到达页面底部时,用户必须点击注释。

该歌曲的midi音频也在后台播放,用户可以将其用作音频提示,并且还为用户播放左手。

好的,好的。我有一个滚动视图,我希望动画内容偏移量,以便音符出现在屏幕顶部并向下。我用这个:

CGFloat animationTime = [dummySong getDuration] + 2;
        [UIView animateWithDuration:animationTime  delay:0 options:UIViewAnimationOptionCurveLinear animations:^{
            [self.trackScrollView setContentOffset:CGPointMake(self.trackScrollView.contentOffset.x, highestNote.frame.origin.y - (highestNote.frame.size.height - remainderHeightOfLastNote))];
        } completion:^(BOOL finished) {
            //some code
        }];

我使用线性因为我不希望它加速或减速奇怪。

+2是因为我希望笔记从屏幕开始,滚动视图的高度计为1秒。

在模拟器上(对于任何模拟设备),它表现得非常完美,音频与从屏幕顶部下来的音符完美匹配。

然而,在设备上,根据设备,笔记的数量不尽相同,但是它没有显示CPU或内存过载的明显迹象。 (这让我感到困惑,因为在UI被延迟时肯定会有不良/不同的性能?)。

有没有人知道UIView animateWithDuration的行为方式不一致?

我的想法已经不多了,因为我已经尝试单独动画每个音符UIView,但遇到了同样的问题!

亲切的问候。

0 个答案:

没有答案