2

如果我做

zPosition = 3;

然后我马上运行一个方法

string = [[NSString alloc]initWithFormat:@"%i", (NSInteger)shape.zPosition];'
label.text = string;'

那么标签显示的 zPosition 值不正确。但是,如果我在延迟后运行我的方法,那么它就可以工作。

那里发生了什么事?zPosition 需要一点时间才能启动吗?还是我只是做错了事?

这是我正在谈论的内容的一个要点示例https://gist.github.com/4670390

4

1 回答 1

1

不幸的是,是的,它需要一瞬间。

关于“为什么”发生这种情况的答案是动画持续时间在 api 中被隐式设置为 0.0001 秒。您的即时调用[self updateLabels]实际上是在zPosition属性完成动画之前调用的。

这实际上是我现在在 C4 中跟踪的一个错误,我已经在 github 上提供的完整项目中修复了它,但是在它进入安装程序/项目模板之前还需要一段时间。

于 2013-01-31T05:39:17.343 回答