Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/23.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
Objective c 目标C动画设置帧_Objective C - Fatal编程技术网

Objective c 目标C动画设置帧

Objective c 目标C动画设置帧,objective-c,Objective C,作为初学者,我正在学习objective-c,我对设置帧有点迷茫,为什么动画需要设置帧,它在这里真正做什么?有人能解释一下吗?谢谢你的建议 谢谢 -(void)showAccordionMenuInView:(UIView *)targetView{     ...     // STEP 5: ANIMATE     [UIView beginAnimations:@"" context:nil];     [UIView setAnimationDuration:ANIMATION_DURA

作为初学者,我正在学习objective-c,我对设置帧有点迷茫,为什么动画需要设置帧,它在这里真正做什么?有人能解释一下吗?谢谢你的建议

谢谢

-(void)showAccordionMenuInView:(UIView *)targetView{
    ...
    // STEP 5: ANIMATE
    [UIView beginAnimations:@"" context:nil];
    [UIView setAnimationDuration:ANIMATION_DURATION];
    [UIView setAnimationCurve:UIViewAnimationCurveLinear];
    [self.view setAlpha:0.5];
    // Set the yPoint value as the y origin point of the menu view
    // and the tempMenuHeight value as its height.
    **[_viewAccordionMenu setFrame:CGRectMake(_viewAccordionMenu.frame.origin.x,
                                            yPoint,
                                            _viewAccordionMenu.frame.size.width,
                                            tempMenuHeight)];**
    [UIView commitAnimations];
动画“必需”进行动画更改
setFrame
在没有它的情况下可以正常工作,但在没有动画的情况下会跳转到新值

“设置帧”所做的只是设置视图的帧

为什么动画需要设置帧,它在这里真正做什么


您当然不需要动画来设置视图的帧,但是在动画中设置帧将使更改成为动画。也就是说,在动画中设置帧将导致视图在
动画持续时间
秒以上移动,而不是立即将
\u viewAccordionMenu
移动到其新位置。这通常比让视图从一个地方跳到另一个地方看起来更好。

谢谢David,我确信这一点:没有它可以很好地工作,但不需要动画就可以跳转到新值。