繁体   English   中英

iOS:UIImageView动画

[英]IOS: animation with UIImageView

我有两个imageViews分别称为firstView和secondView; 我必须做一个动画来移动我称为imageView3的第三个imageView。 此imageView3在firstView内部,我执行此代码

[UIView beginAnimations:nil context:NULL];
[UIView setAnimationDuration:0.5];
[imageView3 setFrame:frameinSecondView];
[UIView commitAnimations];
//[imageView3 removeFromSuperview];
//[secondView addSubview:imageView3];

使用此代码,我可以将imageView3移至secondView,但是问题是我无法在正确的帧“ frameinSeconView”中设置imageView3; 相反,如果我使用注释的代码

[imageToMove removeFromSuperview];
[scrollViewAlfabeto addSubview:imageToMove];

imageView3可以在正确的帧上播放,但是我看不到动画,因为当动画开始播放时,imageview3从firstView广告中消失了,并在secondView上显示

如何解决具有正确的动画,在这两个imageViews之间具有正确的帧。

您正在尝试将imageView3从1传递到2,对吗? 从imageView1中将其删除,并将其放置在windowView上,从1到2进行动画处理,然后等待结束动画以从windowView中删除并插入imageView2

如何等待 ...好吧,有一个[句子的东西]结构可以做到这一点,但是我不知道是怎么回事,而不是那样(因为我从来没有找到过)我开始使用“动画块”:D

什么是动画块? 块:表示动作的对象; 以下是使用块对象block1,block2(CODE PARTC)的动画示例

    [UIView animateWithDuration:2 delay:0 
                    options:UIViewAnimationCurveEaseIn 
                 animations: block1
                 completion: block2
    ];

这意味着它将执行block1中定义的动作,就好像它们在begin-commit动画语句中一样,并且(在其漂亮部分之后)它们将在block2中执行这些动作! :D!

但是什么是f ---- ng块? 好吧...这是一个F ---- NG块!:

返回void的块(CODE PARTA):

    void (^block1)(void) = ^{
    centerPortrait.frame = frame1;
    if (lookingMenu==NO)
        listTableView.frame = frameT1;
    };

返回BOOL的块(完成后:您需要一个bool),并且其中包含另一个动画(CODE PARTB)

    void (^block2)(BOOL) = ^(BOOL got){
    [UIView animateWithDuration:halfDuration delay:0 
                        options:UIViewAnimationCurveEaseIn 
                     animations:^{
                         centerPortrait.image = image;
                         centerPortrait.frame = frame2;
                         if (lookingMenu==YES)
                             listTableView.frame = frameT2;
                     } 
                     completion:nil
     ];
    };

我用它来伪造图像的旋转hohohoho无论如何,如果您没有,命令是PARTA,B,C:P

请阅读以下内容: http : //developer.apple.com/library/ios/#documentation/cocoa/Conceptual/Blocks/Articles/bxGettingStarted.html%23//apple_ref/doc/uid/TP40007502-CH7-SW1

这是我获得如何使用块的地方:D,这是伟大的RAYWENDERLICH的有用教程: http ://www.raywenderlich.com/2454/how-to-use-uiview-animation-tutorial

希望能帮助到你!

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM