GAHybridKit 1.0.0

GAHybridKit 1.0.0

测试已测试
语言语言 Obj-CObjective C
许可 MIT
发布最新发布2015年2月

DaiCaga维护。



 
依赖关系
SVProgressHUD~> 1.0
HexColors~> 2.0
TransitionKit~> 2.1
BlocksKit~> 2.2
 

  • Mert Dumenci,Clay Allsopp 和 DaiCaGa

GAHybridKit for iOS

GAHybridKit 是一个简单可扩展的用于您的网页/原生混合移动应用的通讯系统。它扩展自 HybridKit。

使用 HybridKit for JavaScript,您可以向您的原生应用发送从网页到原生应用的命令进行处理。

Screenshot

GAHybridKit 使用 命令处理器 处理使用JavaScript 库发送的命令。GAHybridKit 提供了一些有用的默认设置,或者您可以编写全新的命令处理器。

安装

GAHybridKit for iOS 需要 CocoaPods。将其添加到您的 Podfile

pod 'GAHybridKit'

运行 pod install 即可。

使用

您可以通过使用 HYWebViewController(而不是 UIViewController)来利用 GAHybridKit。HYWebViewController 将自动注册默认命令处理器,准备接收命令。

设置 HYWebViewController 并加载一个 URL。

HYWebViewController *webViewController = [[HYWebViewController alloc] initWithParams:@{@"url" : @"http://google.com"}];

// or

HYWebViewController *webViewController = [[HYWebViewController alloc] init];
webViewController.url = [NSURL URLWithString:@"http://google.com"];

[self presentViewController:webViewController animated:YES completion:nil];

内置命令

默认情况下,HybridKit 包括以下命令:alertopen_urlset_urlset_url_refreshset_titleset_scroll_enabledset_background_colordeceleration_ratetrigger_eventjavascript

有关内置处理器的更多信息,请查看HybridKit-JS 维基

自定义命令处理器

您可以使用 JavaScript 库轻松创建用于自定义命令的新命令处理器。

简单地创建一个 HYWebViewCommand 子类,并重写 handleCommandString:dictionaryrespondsToCommandString 方法。

@interface HideNavigationBarHandler : HYWebViewCommand
@end

@implementation HideNavigationBarHandler
-(void)handleCommandString:(NSString *)commandString dictionary:(NSDictionary *)commandDictionary {
    if ([commandString isEqualToString:@"hide_navbar"]) {
        self.webViewController.navigationController.navigationBarHidden = [commandDictionary[@"hidden"] boolValue];
    }
}

- (BOOL)respondsToCommandString:(NSString *)commandString {
    return [commandString isEqualToString:@"hide_navbar"];
}
@end

将新命令处理器注册到 HYWebViewController 实例。

[hybridKitViewController registerCommandHandler:[HideNavigationBarHandler new]];

使用 JavaScript 库调用您的新命令。

HybridKit.runCommand("hide_navbar", {hidden: true});

许可

GAHybridKit for iOS 在 MIT 许可下提供。有关更多信息,请参阅LICENSE 文件。