Files
StackChan/app/ios/Runner/View/ViewFactory.swift
T
2026-04-27 12:16:53 +08:00

65 lines
1.9 KiB
Swift

//
// ViewFactory.swift
// Runner
//
// Created by 鸿 on 2026/1/30.
//
import Flutter
import UIKit
class StackChanRobotViewFactory: NSObject, FlutterPlatformViewFactory {
private let messenger: FlutterBinaryMessenger
init(messenger: FlutterBinaryMessenger) {
self.messenger = messenger
super.init()
}
func create(withFrame frame: CGRect, viewIdentifier viewId: Int64, arguments args: Any?) -> any FlutterPlatformView {
return StackChanRobot(frame: frame, viewId: viewId, messenger: messenger, args: args)
}
func createArgsCodec() -> any FlutterMessageCodec & NSObjectProtocol {
return FlutterStandardMessageCodec.sharedInstance()
}
}
class StackChanRotaryRobotViewFactory: NSObject, FlutterPlatformViewFactory {
private let messenger: FlutterBinaryMessenger
init(messenger: FlutterBinaryMessenger) {
self.messenger = messenger
super.init()
}
func create(withFrame frame: CGRect, viewIdentifier viewId: Int64, arguments args: Any?) -> any FlutterPlatformView {
return StackChanRotaryRobot(frame: frame, viewId: viewId, messenger: messenger, args: args)
}
func createArgsCodec() -> any FlutterMessageCodec & NSObjectProtocol {
return FlutterStandardMessageCodec.sharedInstance()
}
}
class StackChanArViewFactory: NSObject, FlutterPlatformViewFactory {
private let messenger: FlutterBinaryMessenger
init(messenger: FlutterBinaryMessenger) {
self.messenger = messenger
super.init()
}
func create(withFrame frame: CGRect, viewIdentifier viewId: Int64, arguments args: Any?) -> any FlutterPlatformView {
return StackChanArView(frame: frame, viewId: viewId, messenger: messenger, args: args)
}
func createArgsCodec() -> any FlutterMessageCodec & NSObjectProtocol {
return FlutterStandardMessageCodec.sharedInstance()
}
}