我的应用程序中有一个自定义视图,它是分层支持的并嵌入在NSScrollView
. 我允许用户放大(这是通过增加我的自定义视图的大小来实现的)。但是,我在放大任意点时遇到了麻烦,因为NSScrollView
在我将其指向新的滚动点之前,它一直在阻碍并导致视图四处跳动(通常是视图的原点)。我真的很想使用 a CAScrollLayer
,因为我知道我肯定可以使用它进行缩放并让它平滑移动,但是我失去了所有内置的滚动功能。
有什么方法可以CAScrollLayer
在中利用NSScrollView
,可能支持NSClipView
?如果不是,CAScrollLayer
实际上有什么目的?是否可以通过不同的方法自动更改视图的大小和滚动点并使其具有动画效果?
简而言之,是CAScrollLayer
完全没用,还是大部分没用?
更新
CALayer
通过创建一个子类来显示我的视图内容,我已经让我的内部视图少跳动了。我没有使用布局约束来调整大小,而是将其大小调整为-resizeWithOldSuperlayerSize:
. 不过,我仍然无法同时更改视图的帧大小和原点并获得流畅的动画。要了解我要查找的内容,请在“预览”中打开图像并放大和缩小。它以平滑的方式围绕图像的中心进行缩放。