mirror of
https://github.com/flutter/flutter.git
synced 2025-06-03 00:51:18 +00:00
44 lines
1.8 KiB
Objective-C
44 lines
1.8 KiB
Objective-C
// Copyright 2017, the Flutter project authors. Please see the AUTHORS file
|
|
// for details. All rights reserved. Use of this source code is governed by a
|
|
// BSD-style license that can be found in the LICENSE file.
|
|
|
|
#include "AppDelegate.h"
|
|
#include "GeneratedPluginRegistrant.h"
|
|
#include "PlatformViewController.h"
|
|
|
|
@implementation AppDelegate {
|
|
FlutterResult _flutterResult;
|
|
}
|
|
|
|
- (BOOL)application:(UIApplication *)application
|
|
didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
|
|
[GeneratedPluginRegistrant registerWithRegistry:self];
|
|
FlutterViewController* controller =
|
|
(FlutterViewController*)self.window.rootViewController;
|
|
FlutterMethodChannel* channel =
|
|
[FlutterMethodChannel methodChannelWithName:@"samples.flutter.io/platform_view"
|
|
binaryMessenger:controller];
|
|
[channel setMethodCallHandler:^(FlutterMethodCall* call, FlutterResult result) {
|
|
if ([@"switchView" isEqualToString:call.method]) {
|
|
_flutterResult = result;
|
|
PlatformViewController* platformViewController =
|
|
[controller.storyboard instantiateViewControllerWithIdentifier:@"PlatformView"];
|
|
platformViewController.counter = ((NSNumber*)call.arguments).intValue;
|
|
platformViewController.delegate = self;
|
|
UINavigationController* navigationController =
|
|
[[UINavigationController alloc] initWithRootViewController:platformViewController];
|
|
navigationController.navigationBar.topItem.title = @"Platform View";
|
|
[controller presentViewController:navigationController animated:NO completion:nil];
|
|
} else {
|
|
result(FlutterMethodNotImplemented);
|
|
}
|
|
}];
|
|
return [super application:application didFinishLaunchingWithOptions:launchOptions];
|
|
}
|
|
|
|
- (void)didUpdateCounter:(int)counter {
|
|
_flutterResult([NSNumber numberWithInt:counter]);
|
|
}
|
|
|
|
@end
|