0

是否可以在屏幕外的 CGRect 中创建 UIImageView?

然后,我将在用户按下 UIButton 后将其动画到屏幕上。

我知道这个函数CGRectMake(x,y,height, width),但显然 x 和 y 不能有负值。

谁能帮我?

4

1 回答 1

0

对的,这是可能的。您可以做几件事。根据您希望它从哪里开始动画,将 imageview 的 x 和 y 设置为负数或大于<parentView>.bounds.size.width或高度等。然后您可以使用 UIView 对更改进行动画处理。

因此,在 viewDidAppear 或任何触发动画的方法中,您都可以使用Apple docs

+ (void)animateWithDuration:(NSTimeInterval)duration animations:(void (^)(void))animations completion:(void (^)(BOOL finished))completion

处理所有的动画。这是一个例子

[UIView animateWithDuration:<timeInSecondsOfHowLongItShouldTake>
            animations:^
            {
                    imageView.frame = <CGRectFrameOfPlaceThatYouWantItToGo>
                    //you could also make it fade in with imageView.alpha = 1;
                    //assuming you started out with an alpha < 1
            }
            completion:^(BOOL finished)
            {
                    //do something after it finishes moving 
                    //the imageview into place
            }
];
于 2013-06-20T18:17:33.477 回答