2012-01-26 100 views
0

我在动画按钮上的图像变化。我有时间设置为.6,它在模拟器中完全按照预期进行动画,但在iPhone 4S中,相同的动画在闪烁时发生,而不是.6秒。真实设备中的动画比仿真器快得多

我已经将动画持续时间更改为更短,更长,仿真器始终按预期工作,但真正的设备始终超快,例如.1秒或更快。

像真正的设备上的其他动画像改变视图控制器翻转过渡很好。

代码示例如下:

for (button in allButtons) { 
    [UIView transitionWithView:button.view duration:0.6  
     ^{ [button setSelected:NO]; 
     } 
} 

里有allButtons收集80个按钮。个别按钮转换也可以正常工作。

为什么模拟器的工作方式与真实设备不同?

+0

你的代码示例有语法错误..缺少某些东西 – Felix

+0

它是伪代码,因为我声明代码可以在模拟器中工作,我预计这很明显。重点是它在仿真器中工作,而不是在真实的设备中。 – user1136681

+0

我不知道iOS的模拟器。你的意思是iOS模拟器? – Felix

回答

0

你可以尝试:

[UIView animateWithDuration:0.6 
       animations:^{ 
        for (UIButton *button in allButtons) { 
         [button setSelected:NO]; 
        } 
       }]; 

但是,这不应该工作无论是文档指出的是动画和“选择”属性不在该列表中(如Diwann前面说的。)事实上,它甚至不是UIView的一个属性,它是UIControl的一个属性,你只能动画UIView的属性。

我刚刚在我的模拟器和iOS设备上尝试过你的伪代码(使之工作),并且都没有动画。两个测试都将按钮设置为一次全选。