gpt4 book ai didi

iphone - UIView动画向下滑动

转载 作者:太空狗 更新时间:2023-10-30 03:49:08 27 4
gpt4 key购买 nike

我试图在 UIImageView 中向下滑动图像,但我不知道 UIContentMode 和动画属性的哪种组合是实现这一目标的正确组合。图像应始终具有相同的大小并且不应被拉伸(stretch)...我想要的是,首先看不到任何东西,然后框架扩展并显示图像。

如果你明白我的意思,也许会更容易:

Illustration of my Problem

所以,这听起来很简单,但是我应该为 UIImageView 使用什么 UIContentMode 以及我应该为什么属性设置动画?谢谢!

最佳答案

我在您的带领下也制作了截屏视频。 Was this what you had in mind?

我把动画无限重复,这样用视频捕捉起来会更容易,但它可以在按下按钮时启动,也可以卡住在原地,显示弹出窗口及其内容,直到反转为再次隐藏。

我为此使用了 Core Animation,而不是为 UIView 设置动画,因为我想使用 CALayer 的 mask 属性来隐藏弹出窗口并通过滑动动画显示它。

这是我使用的代码(与视频中的相同):

- (void)viewDidLoad
{

// Declaring the popover layer
CALayer *popover = [CALayer layer];

CGFloat popoverHeight = 64.0f;
CGFloat popoverWidth = 200.0f;

popover.frame = CGRectMake(50.0f, 100.0f, popoverWidth, popoverHeight);
popover.contents = (id) [UIImage imageNamed:@"popover.png"].CGImage;

// Declaring the mask layer
CALayer *maskLayer = [CALayer layer];
maskLayer.frame = CGRectMake(0, - popoverHeight, popoverWidth, popoverHeight);
maskLayer.backgroundColor = [UIColor colorWithRed:1.0f green:1.0f blue:1.0f alpha:1.0f].CGColor;

// Setting the animation (animates the mask layer)
CABasicAnimation *animation = [CABasicAnimation animationWithKeyPath:@"position.y"];
animation.byValue = [NSNumber numberWithFloat:popoverHeight];
animation.repeatCount = HUGE_VALF;
animation.duration = 2.0f;

[maskLayer addAnimation:animation forKey:@"position.y"];

//Assigning the animated maskLayer to the mask property of your popover
popover.mask = maskLayer;

[self.view.layer addSublayer:popover];

[super viewDidLoad];
}

注意:您必须将 QuartzCore 框架导入到您的项目中,并在您的头文件中写入此行:#import <QuartzCore/QuartzCore.h> .

告诉您这是否适合您,或者您是否需要更多帮助来进行设置。

关于iphone - UIView动画向下滑动,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6843962/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com