gpt4 book ai didi

ios - 禁用 CALayer 隐式动画

转载 作者:行者123 更新时间:2023-11-28 09:19:45 25 4
gpt4 key购买 nike

CALayer 的属性发生变化时,下面的类试图阻止任何隐式动画的发生。

// NoImplicitAnimations.h

#import <Foundation/Foundation.h>
#import <QuartzCore/QuartzCore.h>

@interface NoImplicitAnimations : NSObject

- (id<CAAction>) actionForLayer:(CALayer *)layer forKey:(NSString *)key;

@end



// NoImplicitAnimations.m

#import "NoImplicitAnimations.h"

@implementation NoImplicitAnimations

- (id<CAAction>) actionForLayer:(CALayer *)layer forKey:(NSString *)key {
return (id)[NSNull null];
}

@end

我在我的 Objective-C 中将 NoImplicitAnimations.h 导入到 Swift 桥接头文件中。

我创建了一个全局常量 let _noImplicitAnimations = NoImplicitAnimations()

我像这样扩展 CALayer 类:

extension CALayer {
func noImplicitAnimations () {
delegate = _noImplicitAnimations
}
}

问题来了。我在创建 myLayer 后立即使用 myLayer.noImplicitAnimations()。然而,隐式动画仍在发生。

我在这里做错了什么?

最佳答案

没关系。这确实有效。我在错误的 CALayer 上测试它。我的错!

关于ios - 禁用 CALayer 隐式动画,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25830050/

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