AFSheme 0.1.6

AFSheme 0.1.6

测试已测试
Lang语言 Obj-CObjective C
许可证 MIT
发布最后发布2016 年 10 月

Aoi Fukuoka 维护。



AFSheme 0.1.6

  • 作者
  • Aoi Fukuoka

示例

首先

#import AFSheme.h

并在 AppDlegate.m 文件中

@interface AppDelegate () <AFShemeConverterDelegate>

@end

- (NSDictionary *)afShemeMappingDictionary {  
    return @{@"CustomViewController":CustomViewController.className,
         };

[AFSheme openShemeWithString:@"CustomViewController"
                  parameters:@{@"hoge":@"fuga"}
              createViewType:CreateViewTypePush
               useStoryBoard:YES];

#import CustomViewController.h

[AFSheme openSheme:CustomViewController.className
        parameters:@{}
    createViewType:CreateViewTypePush
     useStoryBoard:CustomViewController.hasStoryBoard];

#import CustomViewController.h

CustomViewController *customViewController = [[CustomViewController alloc] init];

[AFSheme openSheme:customViewController
        parameters:@{}
    createViewType:CreateViewTypePush];

要运行示例项目,请克隆仓库,然后从 Example 目录中首先运行 pod install

需求

iOS 8.0 或更高版本。

安装

AFSheme 通过 CocoaPods 提供。要安装它,只需将以下行添加到您的 Podfile 中:

pod "AFSheme"

描述

AFSheme 允许您轻松地从 JavaScript 调用您的应用特定视图或动作。这为您提供了三种使用方法。

  1. +(void)openShemeWithString:(NSString *)name parameters:( NSDictionary *)parameters createViewType:(CreateViewType)createViewType useStoryBoard:(BOOL)useStoryBoard;

  2. +(void)openSheme:(NSString *)className parameters:( NSDictionary *)parameters createViewType:(CreateViewType)createViewType useStoryBoard:(BOOL)useStoryBoard;

  3. +(void)openSheme:(UIViewController *)vc parameters:( NSDictionary *)parameters createViewType:(CreateViewType)createViewType;

1. 您可以使用 ViewController 的名称的字符串值调用特定的 ViewController
例如:UIViewController, CustomViewController 这个方法使您能够轻松地使用 JavaScript 调用您的应用中的视图控制器。如果您使用此方法,您必须在 AppDelegate.m 文件中实现代理方法。

2. 此方法使您能够整合视图切换。您必须在此应用程序中给出 ViewController 的名称。您可以使用 className 方法轻松获得名称。
例如:UIViewController.className

3. 此方法还使您能够整合视图切换。您必须将 ViewController 的实例提供给该方法。

代理方法

在您的 AppDelegate.m 中,请实现以下内容:

- (NSDictionary *)afShemeMappingDictionary;

作为

@interface AppDelegate () <AFShemeConverterDelegate>

@end

- (NSDictionary *)afShemeMappingDictionary {  
    return @{@"CustomViewController":CustomViewController.className,  
             @"HogeViewController":HogeViewController.className};
}

如果按照上面的示例实现代理方法,您可以使用 openShemeWithString:@"CustomViewController"openShemeWithString:@"HogeViewController"...

其他参数

1. NSDictionary *parameters
您提供的参数,用于您的 ViewController。您可以根据以下方式访问这些参数。在 ViewController 的子类中,self.parameters

2. CreateViewType createViewType
处理过渡类型的枚举值。

  • CreateViewTypePush
    NavigationController 的 pushViewController 方法风格。您可见的 ViewController 必须是 navigationcontroller 的子类。

  • CreateViewTypeModal
    UIViewController 的 presentViewController 方法风格。

  • CreateViewTypeAlert
    UIAlertController 的风格。当您想使用 UEFA Controller 时,请使用此类型。

您可以从以下字符串中获取这些值。

@"push".toCreateViewType;
@"modal".toCreateViewType;
@"alert".toCreateViewType;

3. BOOL useStoryBoard
无论您是否想使用故事板风格。如果您将此值设置为“是”,则必须将ViewController的类名与故事板名称和故事板标识符相同。
您可以使用

BOOL CustomViewController.hasStoryBoard 
// Return YES if CustomViewController can be initialized with UIStoryBoard.

例如。如果您想使用类CustomViewController,则必须将故事板名称命名为CustomViewController,并将故事板标识符命名为CustomViewController。

作者

Aoi Fukuoka,[email protected]

许可证

AFSheme可供MIT许可证使用。有关更多信息,请参阅LICENSE文件。