0

我正在开发一个 Rubymotion 应用程序。我正在使用 pod KNSemiModalViewController。如何将这个 Objective-C 代码“翻译”成 ruby​​?

[self presentSemiViewController:semiVC withOptions:@{
     KNSemiModalOptionKeys.pushParentBack    : @(YES),
     KNSemiModalOptionKeys.animationDuration : @(0.3),
     KNSemiModalOptionKeys.shadowOpacity     : @(0.8),
     }];
4

3 回答 3

2

您必须自己解决 Ruby 方面的问题,但是这行代码:

[self presentSemiViewController:semiVC withOptions:@{
     KNSemiModalOptionKeys.pushParentBack    : @(YES),
     KNSemiModalOptionKeys.animationDuration : @(0.3),
     KNSemiModalOptionKeys.shadowOpacity     : @(0.8),
     }];

与此相同:

NSDictionary *dict = [NSDictionary, dictionaryWithObjectsAndKeys:
    [NSNumber numberWithBOOL:YES], KNSemiModalOptionKeys.pushParentBack,
    [NSNumber numberWithFloat:0.3], KNSemiModalOptionKeys.animationDuration,
    [NSNumber numberWithFloat:08], KNSemiModalOptionKeys.shadowOpacity];

[self presentSemiViewController:semiVC withOptions:dict];

假设KNSemiModalOptionKeys.pushParentBack使用点符号来执行一个方法,每个方法都可以重写为[KNSemiModalOptionKeys pushParentBack].

希望这可以为您提供足够的有关 ObjC 方面的信息以翻译成 Ruby(它非常擅长形成字典,IIRC)。

于 2013-09-01T01:01:13.363 回答
1
self.presentSemiViewController(semiVC, withOptions:{
  KNSemiModalOptionKeys.pushParentBack => true,
  KNSemiModalOptionKeys.animationDuration => 0.3,
  KNSemiModalOptionKeys.shadowOpacity => 0.8
})
于 2013-09-01T12:30:04.457 回答
-2

我见过一个 Sublime 插件 objc2rubymotion,从未尝试过。

有一个基于它的网页http://objc2rubymotion.herokuapp.com

从未尝试过,但它可能会帮助像我这样在 iOS 环境中跌倒的 ruby​​ist :)

于 2013-09-29T09:01:41.103 回答