在颤振中,我有这个:
void main() => runApp(new MyApp());
class MyApp extends StatelessWidget {
// This widget is the root of your application.
@override
Widget build(BuildContext context) {
return new MaterialApp(
title: 'Flutter Demo',
routes: <String, WidgetBuilder> {
'/Cards': (BuildContext context) => new PageSelectorDemo(),
},
onGenerateRoute: (RouteSettings settings) => new MaterialPageRoute(
builder: (BuildContext ctx) => new PageSelectorDemo(),
),
theme: new ThemeData(
primarySwatch: Colors.deepPurple,
),
home: new MyHomePage(title: 'Flutter View'),
);
}
}
在我的 iOS 代码中,我有这个:
func getFlutterController() -> UIViewController?
{
self.flutterController = FlutterViewController(project: nil, nibName: nil, bundle: nil)
if let controller = self.flutterController
{
controller.setInitialRoute("/Cards") // setting the route
self.messageChannel = FlutterBasicMessageChannel.init(name: "channel", binaryMessenger: controller, codec: FlutterStandardMessageCodec.sharedInstance())
if let channel = self.messageChannel
{
channel.setMessageHandler() { (message:Any?, reply:FlutterReply) in
ViewController.counter += 1
self.labelMessage.text = "message recieved: \(ViewController.counter)"
}
}
}
return self.flutterController
}
为什么这不起作用?颤振代码只是加载初始视图,而不是我从“/Cards”路由中的视图。