动画 UIImageView 离开屏幕

发布于 2024-11-11 17:57:27 字数 551 浏览 2 评论 0原文

我有一个 UIImageView ,我需要在屏幕上设置动画。我通过在 1 秒动画块中将帧调整为 0 来实现此目的。如果我不考虑内容类型(这是缩放类型之一),它会按照我的意愿缩小到 0,但在调整到新的帧大小时会挤压图像。 我需要它只是剪掉底部。我将内容类型更改为左上角,这导致它不执行任何操作。
我在这里缺少什么?

这是动画块代码。

// Change frame height.
[UIView animateWithDuration:1.0f
                 animations:^ {
                     // Animate the frame off the screen
                     _closeImage.frame = CGRectMake(_closeImage.frame.origin.x, _closeImage.frame.origin.y, _closeImage.frame.size.width, 0);
                 }
 ];

I have a UIImageView that I need to animate off the screen. I'm doing this by adjusting the frame to 0 in a 1 second animation block. If I leave the content type alone, which is one of the scaling types, it will shrink to 0 as I want it to, but it will pinch the image as it adjusts to the new frame size. I need it to just crop the bottom off instead. I changed the content type to top left and that causes it to not do anything.
What am I missing here?

Here's the animation block code.

// Change frame height.
[UIView animateWithDuration:1.0f
                 animations:^ {
                     // Animate the frame off the screen
                     _closeImage.frame = CGRectMake(_closeImage.frame.origin.x, _closeImage.frame.origin.y, _closeImage.frame.size.width, 0);
                 }
 ];

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

千纸鹤 2024-11-18 17:57:27

您想要更改 scaleMode 属性。如果您希望它在正确缩放的同时缩小,您可以将其更改为宽高比。否则,您可以尝试其他一些。

编辑:

根据您的评论,您需要设置 clipsToBounds 属性。

You want to change the scaleMode property. You can change it to aspect fit if you want it to shrink while scaling correctly. Otherwise, you can try some of the other ones.

EDIT:

As per your comment, you need to set the clipsToBounds property.

2024-11-18 17:57:27

您可以尝试使用:

    // Change frame placement.
[UIView animateWithDuration:1.0f
                 animations:^ {
                     // Animate the frame off the screen
                     _closeImage.frame = CGRectMake(_closeImage.frame.origin.x, _parentView.frame.size.height, _closeImage.frame.size.width, _closeImage.frame.size.height);
                 }
 ];

_parentView 是包含 imageview 的视图...它将从parentView 上滑落,如果您不再使用它,请考虑将其从超级视图中删除...

You can try with:

    // Change frame placement.
[UIView animateWithDuration:1.0f
                 animations:^ {
                     // Animate the frame off the screen
                     _closeImage.frame = CGRectMake(_closeImage.frame.origin.x, _parentView.frame.size.height, _closeImage.frame.size.width, _closeImage.frame.size.height);
                 }
 ];

_parentView is view containing imageview... it will slide off parentView, and consider removing it from superview afterwards if you dont use it anymore...

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文