提问人:MarisLakss 提问时间:10/18/2022 更新时间:10/18/2022 访问量:73
有没有办法将 Objective-C CATransition 动画转换为 Swift?
Is there a way to convert Objective-C CATransition animation into Swift?
问:
我正在处理过时和未完成的项目,将 Objective-C 代码迁移到 Swift。 尝试将 UIView+stateTransition .h 和 .m 文件重新创建到 Swift 中,但没有任何运气。如果有人遇到过类似的事情,那么下面的 Objective-C 代码在 Swift 格式中的外观将不胜感激。
//Code in UIView+stateTransition header file:
#import <UIKit/UIKit.h>
NS_ASSUME_NONNULL_BEGIN
@interface UIView (stateTransition)
- (CATransition *)makeStandardStateTransition;
@end
NS_ASSUME_NONNULL_END
//Code in UIView+stateTransition implementation file:
#import "UIView+stateTransition.h"
NS_ASSUME_NONNULL_BEGIN
@implementation UIView (stateTransition)
- (CATransition *)makeStandardStateTransition
{
CATransition *transition = [CATransition animation];
transition.duration = 0.12;//based on testing
transition.type = kCATransitionFade;
transition.timingFunction = [CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseInEaseOut];
return transition;
}
@end
NS_ASSUME_NONNULL_END
答:
0赞
Bulat Yakupov
10/18/2022
#1
此代码的 Swift 等效项如下所示:
extension UIView {
func makeStandardStateTransition() -> CATransition {
let transition = CATransition()
transition.duration = 0.12
transition.type = .fade
transition.timingFunction = CAMediaTimingFunction(name: .easeInEaseOut)
return transition
}
}
评论