我正在尝试在我的swift项目中使用Objective-C框架。 https://github.com/cruffenach/CRToast
以下是示例代码
NSDictionary *options = @{
kCRToastTextKey : @"Hello World!",
kCRToastTextAlignmentKey : @(NSTextAlignmentCenter),
kCRToastBackgroundColorKey : [UIColor redColor],
kCRToastAnimationInTypeKey : @(CRToastAnimationTypeGravity),
kCRToastAnimationOutTypeKey : @(CRToastAnimationTypeGravity),
kCRToastAnimationInDirectionKey : @(CRToastAnimationDirectionLeft),
kCRToastAnimationOutDirectionKey : @(CRToastAnimationDirectionRight)
};
[CRToastManager showNotificationWithOptions:options
completionBlock:^{
NSLog(@"Completed");
}];
我的代码看起来像这样,它没有处理一些错误
@IBAction func btnClicked(sender: AnyObject) {
var option:Dictionary <NSObject,AnyObject> =
[kCRToastTextKey : "Hello World!",
kCRToastTextAlignmentKey : NSTextAlignment.Center,
kCRToastBackgroundColorKey : UIColor.whiteColor(),
kCRToastAnimationInTypeKey : CRToastAnimationType.Gravity,
kCRToastAnimationOutTypeKey : CRToastAnimationType.Gravity,
kCRToastAnimationInDirectionKey : CRToastAnimationDirection.Left,
kCRToastAnimationOutDirectionKey : CRToastAnimationDirection.Right]
CRToastManager.showNotificationWithOptions(option, completionBlock: nil)
}
但是当我保留'ColorKey'时,它会很好
CRToastManager.showNotificationWithOptions([kCRToastBackgroundColorKey : UIColor.whiteColor()], completionBlock: nil)
非常感谢你能解决这个问题
答案 0 :(得分:0)
在swift中使用Objective-C框架时,需要添加桥接头文件。
请参阅this link有关桥接标题
的信息答案 1 :(得分:0)
我快速尝试了一下,问题在于试图将Swift的枚举值粘贴到词典中。如果你从每个枚举中获取rawValue,它对我有用:
var option: Dictionary<NSObject, AnyObject> = [
kCRToastTextKey: "Hello World",
kCRToastTextAlignmentKey: NSTextAlignment.Center.rawValue,
kCRToastBackgroundColorKey: UIColor.redColor(),
kCRToastAnimationInTypeKey: CRToastAnimationType.Gravity.rawValue,
kCRToastAnimationOutTypeKey: CRToastAnimationType.Gravity.rawValue,
kCRToastAnimationInDirectionKey : CRToastAnimationDirection.Left.rawValue,
kCRToastAnimationOutDirectionKey : CRToastAnimationDirection.Right.rawValue
]
CRToastManager.showNotificationWithOptions(option, completionBlock: nil)