zoukankan      html  css  js  c++  java
  • OC端代码

    ViewController.m

    #import "ViewController.h"
    #import <Flutter/Flutter.h>
    #include "GeneratedPluginRegistrant.h"
    #import "SettingViewController.h"

    @interface ViewController ()
    {
    FlutterViewController *flutterVC;
    FlutterMethodChannel *batteryChannel;
    }
    @end

    @implementation ViewController


    - (void)viewDidLoad {
    [super viewDidLoad];
    // Do any additional setup after loading the view, typically from a nib.
    self.title = @"我是iOS 页面";

    flutterVC = [[FlutterViewController alloc]initWithProject:nil nibName:nil bundle:nil];
    flutterVC.title = @"我是Flutter页面";
    batteryChannel = [FlutterMethodChannel methodChannelWithName:@"samples.flutter.dev/battery" binaryMessenger:flutterVC];
    }


    - (IBAction)pushNext:(id)sender {
    NSLog(@"你好吗?");

    //如果使用了插件显示view
    [GeneratedPluginRegistrant registerWithRegistry:flutterVC];
    //[flutterVC setInitialRoute:@"myApp12"];
    [flutterVC setInitialRoute:@"myApp"];
    [self.navigationController pushViewController:flutterVC animated:YES];

    __weak typeof(self) weakSelf = self;
    [batteryChannel setMethodCallHandler:^(FlutterMethodCall* call, FlutterResult result) {
    // Note: this method is invoked on the UI thread.
    if ([@"getBatteryLevel" isEqualToString:call.method])
    {
    int batteryLevel = [weakSelf getBatteryLevel];
    if (batteryLevel == -1) {
    result([FlutterError errorWithCode:@"UNAVAILABLE" message:@"Battery info unavailable" details:nil]);
    } else {(http://www.amjmh.com)
    result(@(batteryLevel));
    }

    } else if ([@"backToNavigatorIndex" isEqualToString:call.method]) {
    NSArray *arguments = call.arguments;

    NSNumber *inde = arguments[0];
    NSLog(@"arguments :%@",inde);
    int batteryLevel = [weakSelf backToNavigatorIndex:inde];
    result(@(batteryLevel));
    } else {
    result(FlutterMethodNotImplemented);
    }
    }];
    }


    - (IBAction)passArgusToFlutter:(id)sender {

    NSLog(@"passArgusToFlutter");
    [batteryChannel invokeMethod:@"passArgusToFlutter" arguments:@[@12,@"huahua"] result:^(id _Nullable result) {
    NSString *ggg = (NSString *)result;
    NSLog(@"result----:%@",ggg);
    }];
    }


    - (int)getBatteryLevel {
    NSLog(@"nihao!!!!!");
    SettingViewController *settingVC = [[SettingViewController alloc]init];
    [flutterVC.navigationController pushViewController:settingVC animated:YES];

    return 66;
    }


    - (int)backToNavigatorIndex:(NSNumber*)index {
    NSLog(@"backToNavigatorIndex!!!!!");
    UIViewController *VC = flutterVC.navigationController.viewControllers[0];
    [flutterVC.navigationController popToViewController:VC animated:YES];

    return 33;
    }

    ---------------------

  • 相关阅读:
    疯狂秀才基本权限管理框架2012新版
    保存网站或系统的全局配置使用JSON格式保存到文件更轻便!
    ASP.NET MVC3 学习笔记(一)MVC模式简介
    疯狂秀才基本权限管理框架2012(国庆版)
    使用Knockout 绑定简单 json 对象
    jquery.Validate API 中文CHM版 疯狂秀才整理
    EasyUI 中 MenuButton 的使用方法
    Javascript Object的使用方法
    Javascript 定义二维数组的方法
    HTML5 Web存储的localStorage和sessionStorage的使用方法【图文说明】
  • 原文地址:https://www.cnblogs.com/ly570/p/11295921.html
Copyright © 2011-2022 走看看