首先
#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 调用您的应用特定视图或动作。这为您提供了三种使用方法。
+(void)openShemeWithString:(NSString *)name parameters:( NSDictionary *)parameters createViewType:(CreateViewType)createViewType useStoryBoard:(BOOL)useStoryBoard;
+(void)openSheme:(NSString *)className parameters:( NSDictionary *)parameters createViewType:(CreateViewType)createViewType useStoryBoard:(BOOL)useStoryBoard;
+(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文件。