HybridKit 0.0.2

HybridKit 0.0.2

测试已测试
语言语言 Obj-CObjective C
版权 MIT
发布最后发布2014年12月

Clay AllsoppMert DümenciClay Allsopp 维护。



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

HybridKit 0.0.2

  • Mert Dumenci 和 Clay Allsopp

HybridKit for iOS

HybridKit 是一个简单、可扩展的消息系统,适用于您的 Web/native 混合移动应用程序。

通过使用 HybridKit for JavaScript,您可以从您的网页向原生应用程序发送指令进行处理。

Screenshot

HybridKit 使用 指令处理程序 来处理使用 JavaScript 库 发送的指令。HybridKit 内置了 实用的默认值,或者您可以编写全新的处理程序。

安装

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

pod 'HybridKit'

运行 pod install 并开始使用!

使用

您可以通过使用 HYWebViewController 代替 UIViewController 来利用 HybridKit。默认情况下,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 Wiki

自定义指令处理器

您可以使用 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});

联系方式

Mert Dümenci

Clay Allsopp

许可

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