WXFloatWeb 1.0.0

WXFloatWeb 1.0.0

AK403 维护。



  • AK403

1 介绍

仿微信,具备浮窗功能的微信浏览器

项目分为三个工程

  • 1 WXFloatSDK:模拟微信的浮窗功能
  • 2 WXStyleWebContainerView:模拟微信的 webeview 页面(进度条,底部导航栏,背景地址)

上述两个库是解耦合的,可以组装成具有浮窗功能的 H5 页面,也可以单独使用,具体可以参考 Demo 中的 WXStyleWebViewController 如何使用这两个库。如果直接想使用 Demo 中的 WXStyleWebViewController,可以使用以下 pod 命令

  • 3 WXFloatWebDemo:Demo 中的 WXStyleWebViewController,依赖于前两个工程。如果直接想使用,可以将其拖入工程中使用或对其进行修改

2 WXFloatSDK (浮窗)使用

2.1 调用

#import <UIViewController+WXFloat.h>

UIViewController *viewController = [[UIViewController alloc] init];
UINavigationController *navi = [[UINavigationController alloc]
                                initWithRootViewController: viewController];
[viewController wf_presentSelfAnimated:YES 
                                  navi:navi 
                            completion:^{
    
} presentingViewController:self];

//
其他方法可以参考UIViewController+WXFloat
    

2.2 自定义 view

浮窗图标、弹出页面时页面右下角的 circleView 以及移动浮窗图标出现的垃圾桶 view,支持自定义。

  • 浮窗图标:可以继承 WXFloatIcon 或实现 WXFloatIconProtocol 协议
  • 弹出页面右下角的 view:继承 WXFloatMinimizeCircleView 或实现 WXFloatMinimizeCircleViewProtocol 协议
  • 移动浮窗出现的垃圾桶:继承 WXFloatRubbishCircleView 或实现 WXFloatRubbishCircleViewProtocol 协议

在第一步调用前,需将自定义 view 的 class 分配给 manager 的属性


.....
[WXFloatManager sharedInstance].floatIconClass = [NewFloatIcon class];
[WXFloatManager sharedInstance].minimizeViewClass = [NewMinimizeView class];
[WXFloatManager sharedInstance].rubbishClass = [NewRubisshView class];

以上调用需在以下函数之前调用
[UIViewController wf_presentSelfAnimated: navi: completion: presentingViewController]
...


3 WXStylWebContanierView 使用(微信样式的 webview)

3.1 调用

- (void)viewDidLoad
{
      ....
      WXStyleContainerView *containerView = [[WXStyleContainerView alloc] initWithUrlRequest:request];
      containerView.frame = CGRectMake(0,navigationBarHeight,screenWidth,screenHeight - navigationBarHeight);
      
      [self.view addSubView containerView];
}

4 WXFloatWebDemo

可以使用WXStyleWebViewController,可以将整个文件夹拖入工程使用

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
    
    WebModel *model = self.webModelArray[indexPath.row];
    [WXStyleWebViewController presentSelfWithUrlStr:model.urlStr presentingViewController:self];
    [tableView deselectRowAtIndexPath:indexPath animated:YES];
}

5 安装

5.1 CocoaPod安装方式

  • 1 WXFloatSDK(浮窗)
pod WXFloatWeb/WXFloatSDK
  • 2 WXStyleWebContainerView (微信WebView)
pod WXFloatWeb/WXStyleWebContainerView
  • 3 WXFloatWebDemo(Demo中的WXStyleWebViewController)
pod WXFloatWeb/WXStyleWebViewController   
//依赖到上面两个库,会同时引入,相当于pod 1+2+3
  • 4 WXFloatWeb
pod WXFloatWeb
// 相当于pod 1+2

5.2 可以直接拖入工程使用

  • 直接拖入文件的方式,注意将资源文件拖入
  • 如果是拖入子工程的方式,注意资源文件 bundle需要拷贝到主target中

6 许可证明

MIT 许可证明

7 作者

  • 微信号 liuyumxuan2
  • 电话 13660271169