我正在處理過時和未完成的專案,將 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
uj5u.com熱心網友回復:
此代碼的 swift 等效項如下所示:
extension UIView {
func makeStandardStateTransition() -> CATransition {
let transition = CATransition()
transition.duration = 0.12
transition.type = .fade
transition.timingFunction = CAMediaTimingFunction(name: .easeInEaseOut)
return transition
}
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/517742.html
