gpt4 book ai didi

cocoa - 使用核心动画进行缩放

转载 作者:行者123 更新时间:2023-12-03 16:15:06 26 4
gpt4 key购买 nike

我有一个 NSScrollView,我想缩小 50%。我使用以下代码执行此操作:

CABasicAnimation *animation = [CABasicAnimation animationWithKeyPath:@"transform.scale"];

animation.fromValue = [NSNumber numberWithFloat:1.00];
animation.toValue = [NSNumber numberWithFloat:0.50];
[animation setDuration:0.20f];

[animation setFillMode:kCAFillModeForwards];
[animation setRemovedOnCompletion:NO];

[self.scrollView.layer addAnimation:animation forKey:@"drag"];

这是可行的,但是当我在缩小 View 之外单击时, ScrollView 的文档 View 会收到 mousedown 事件。因此,尽管 ScrollView 及其内容在视觉上看起来是按比例缩小的,但从技术上讲它们并非如此。

我该如何去做呢?

谢谢!

最佳答案

图层动画的行为与您所描述的完全一样(动画仅更改外观,而不更改底层几何图形。)

尝试使用 UIView block 动画并更改 ScrollView 的变换而不是图层的变换。

编辑:

哦。抱歉,我以为这是iOS。我想我应该注意到你说它是 NSView,而不是 UIView。这些天我的大部分工作都是在 iOS 上完成的,而我的 OSX 经验主要来自 Core Animation 之前的时代。

我认为答案是获取 View 的动画代理并对其进行更改,但我只在 Mac OS 中使用动画代理进行了一些学习练习,因此我必须进行一些挖掘才能查找具体细节。

关于cocoa - 使用核心动画进行缩放,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14566410/

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