Как установить начальный маршрут из нативного iOS - PullRequest
0 голосов
/ 06 апреля 2020

Я интегрирую модуль Flutter в ios Собственный проект, я хочу установить Initial Route из ios native, но он не работает, он использует маршрут по умолчанию.

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 не может публиковать текст "Это выглядит как будто ваш пост в основном кодовый; пожалуйста, добавьте еще несколько деталей. "

enter image description here

enter image description here

enter image description here

enter image description here

1 Ответ

0 голосов
/ 06 апреля 2020

1) Go, чтобы Xcode открыть файл раскадровки (Main.storyboard), он должен / может выглядеть следующим образом Storyboard

2) Теперь нажмите на значок плюса в правом верхнем углу угол для добавления UIViewController Object Library

3) Найдите UIViewController во всплывающем окне Object Liberary2

4) Дважды щелкните его, чтобы добавить на раскадровку

after add

5) Теперь справа есть панель инспектора (нажмите на инспектор атрибута, показанный синим цветом), сделайте ваш новый контроллер представления для начального, отметив «Is Initial View Controller»

Attribute Inspector

6) Теперь, если вы хотите перенести с этого нового контроллера представления чтобы трепетать контроллер, вам нужно либо создать файл ViewController (должен иметь другое имя, потому что он у вас уже был), расширить его с помощью UIViewController, присоединить этот класс к контроллеру раскадровки с помощью Identity Inspector, либо вы можете напрямую использовать действие segue после добавления кнопки в новый ViewContro Ллер на раскадровке

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...