【发布时间】:2020-07-18 00:52:45
【问题描述】:
我正在将 Flutter 模块集成到 ios Native 项目中,我想从 ios Native 设置 Initial Route,但它不起作用,它使用默认路由。
ViewController.swift
import UIKit
import Flutter
class ViewController: UIViewController {
let flutterEngine = FlutterEngine(name: "test")
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view.
flutterEngine.navigationChannel.invokeMethod("setInitialRoute", arguments:"/home")
flutterEngine.run();
}
@IBAction func handleClick(_ sender: Any) {
let flutterViewController = FlutterViewController(engine: flutterEngine, nibName: nil, bundle: nil)
flutterViewController.setInitialRoute("/home")
self.navigationController?.pushViewController(flutterViewController, animated: true)
}
}
main.dart
import 'package:flutter/material.dart';
import 'package:flutter/services.dart';
void main() => runApp(MyApp());
class MyApp extends StatelessWidget {
final _route = <String, WidgetBuilder>{
"/login": (context) => Login(),
"/home": (context) => Home()
};
@override
Widget build(BuildContext context) {
return MaterialApp(
routes: _route,
title: "App", // Title ของหน้า
home: Scaffold(
// หน้าจอหลัก
appBar: AppBar(
title: Text("App Navi"),
),
body: Login(),
),
);
}
}
登录,主页文件请看图片,因为stackoverflow不能发布文本“看起来你的帖子主要是代码;请添加更多细节。”
【问题讨论】:
-
将代码添加为文本而不是屏幕截图
-
@DilanAnuruddha 对不起,我已经编辑发布了。
-
您好,如果我的回答对您有用,您可以将其标记为已接受。