Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/iphone/37.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
iPhone操作系统支持隐式动画吗?_Iphone_Core Animation - Fatal编程技术网

iPhone操作系统支持隐式动画吗?

iPhone操作系统支持隐式动画吗?,iphone,core-animation,Iphone,Core Animation,Mac OS X的示例: [[aView animator] setFrame:NSMakeRect(100.0,100.0,300.0,300.0)]; 我在UIKit中尝试过类似的方法,但似乎UIView没有使用animator方法。因此没有“隐式”动画?iPhone支持隐式动画,尽管它不使用animator对象,但它直接内置到UIView中。请尝试以下方法: [UIView beginAnimations:nil context:nil]; [aView setFrame:NSMake

Mac OS X的示例:

[[aView animator] setFrame:NSMakeRect(100.0,100.0,300.0,300.0)]; 

我在UIKit中尝试过类似的方法,但似乎UIView没有使用animator方法。因此没有“隐式”动画?

iPhone支持隐式动画,尽管它不使用animator对象,但它直接内置到UIView中。请尝试以下方法:

[UIView beginAnimations:nil context:nil];
[aView setFrame:NSMakeRect(100.0,100.0,300.0,300.0)];
[UIView commitAnimations];
具体细节已记录在案


每一个视图都是分层的,所以你不需要;不必打开层来获得显式动画的层。

iPhone支持隐式动画,尽管它不使用animator对象,但它直接内置到UIView中。请尝试以下方法:

[UIView beginAnimations:nil context:nil];
[aView setFrame:NSMakeRect(100.0,100.0,300.0,300.0)];
[UIView commitAnimations];
具体细节已记录在案


每一个视图都是分层的,所以你不需要;你不必打开图层来获得显式动画的图层。

事实证明,iPhone操作系统确实支持CALayer上的隐式动画,正如苹果核心动画编程指南中所定义的那样。在Mac OS X上,当层通过以下设置支持NSView时,层将变为可设置动画:

[view setWantsLayer:YES];
在iPhone OS上,只需将层委托设置为UIViewController派生类,该类承载要设置动画的UIView派生对象。例如,如果在承载它的UIViewController派生类的内部为名为label的UILabel定义了一个属性,则代码将如下所示(UIButton Touch inside事件的事件处理程序示例):

然后,标签将以与Mac OS X上完全相同的方式制作动画,只需更改位置即可

关于这一点,请注意:

  • 这绝对是最好的选择 UIViewController,它是 委托,而不是UIView。制造 ui查看代理导致应用程序失败的原因 爆炸

  • 需要在一个 在 UIViewController派生类具有 完全完成装载,即在 控件的事件处理程序 由班级主持。我试着加上 它位于initWithNibName:bundle:, 从NIB、viewDidLoad和 视图将显示:动画,确实如此 不工作。在中设置代理 前两种方法导致了 不设置动画的标签;只是 立即改变立场。 将其添加到最后两个中会导致 标签将完全消失

  • 每次设置一次委托后 事件处理程序,这将有利于 系统生命周期的剩余部分 UIViewController派生类。 更改中的图层特性 其他事件处理程序将导致这些错误 设置动画而不设置 再次为层指定代理

  • 当UIViewController派生的类失去焦点时,必须在ViewWillEnglish:animated方法中将委托设置为nil,否则应用程序将爆炸

  • 必须有一个地方可以只设置一次委托,这样就不会因为调用事件处理程序而多次设置委托,但我还没有找到那个地方。至少它是这样工作的,并且由于多次调用事件处理程序而多次设置它似乎是无害的


    如果这一切都记录在核心动画编程指南中,那就太好了。我花了好几天的时间想弄明白!希望这能省去追捕它的麻烦

    事实证明,iPhone操作系统确实支持苹果核心动画编程指南中定义的CALayer上的隐式动画。在Mac OS X上,当层通过以下设置支持NSView时,层将变为可设置动画:

    [view setWantsLayer:YES];
    
    在iPhone OS上,只需将层委托设置为UIViewController派生类,该类承载要设置动画的UIView派生对象。例如,如果在承载它的UIViewController派生类的内部为名为label的UILabel定义了一个属性,则代码将如下所示(UIButton Touch inside事件的事件处理程序示例):

    然后,标签将以与Mac OS X上完全相同的方式制作动画,只需更改位置即可

    关于这一点,请注意:

  • 这绝对是最好的选择 UIViewController,它是 委托,而不是UIView。制造 ui查看代理导致应用程序失败的原因 爆炸

  • 需要在一个 在 UIViewController派生类具有 完全完成装载,即在 控件的事件处理程序 由班级主持。我试着加上 它位于initWithNibName:bundle:, 从NIB、viewDidLoad和 视图将显示:动画,确实如此 不工作。在中设置代理 前两种方法导致了 不设置动画的标签;只是 立即改变立场。 将其添加到最后两个中会导致 标签将完全消失

  • 每次设置一次委托后 事件处理程序,这将有利于 系统生命周期的剩余部分 UIViewController派生类。 更改中的图层特性 其他事件处理程序将导致这些错误 设置动画而不设置 再次为层指定代理

  • 当UIViewController派生的类失去焦点时,必须在ViewWillEnglish:animated方法中将委托设置为nil,否则应用程序将爆炸

  • 必须有一个地方可以只设置一次委托,这样就不会因为调用事件处理程序而多次设置委托,但我还没有找到那个地方。至少它是这样工作的,并且由于多次调用事件处理程序而多次设置它似乎是无害的


    如果这一切都记录在核心动画编程指南中,那就太好了。我花了好几天的时间想弄明白!希望这能省去追捕它的麻烦

    这不是一个明确的动画吗?或者有什么区别?没有。显式动画是当您直接使用CoreAnimation并将动画附加到层时。隐式动画是指设置有关动画的某些参数,但在其他情况下仅设置视图的法线特性,并让系统为您设置这些更改的动画。在…上