diff --git a/ios/Classes/container/FLBFlutterViewContainer.h b/ios/Classes/container/FLBFlutterViewContainer.h index 4af0bca11422affd08a99c3f942ba2a47810e902..c2b0389a4cb8c5e045feff4008499a8937df84ac 100755 --- a/ios/Classes/container/FLBFlutterViewContainer.h +++ b/ios/Classes/container/FLBFlutterViewContainer.h @@ -29,6 +29,7 @@ NS_ASSUME_NONNULL_BEGIN @interface FLBFlutterViewContainer : FlutterViewController<FLBFlutterContainer> @property (nonatomic,copy,readwrite) NSString *name; +- (instancetype)init NS_DESIGNATED_INITIALIZER; - (void)surfaceUpdated:(BOOL)appeared; - (void)setEnableForRunnersBatch:(BOOL)enable; @end diff --git a/ios/Classes/container/FLBFlutterViewContainer.m b/ios/Classes/container/FLBFlutterViewContainer.m index 44650ebd8060cd9a613605d777f12f0ff87e209f..af79b73fe8952874c9da6918f5f87ac16466d05e 100755 --- a/ios/Classes/container/FLBFlutterViewContainer.m +++ b/ios/Classes/container/FLBFlutterViewContainer.m @@ -37,6 +37,8 @@ @interface FLBFlutterViewContainer () @property (nonatomic,strong,readwrite) NSDictionary *params; @property (nonatomic,assign) long long identifier; +@property (nonatomic, copy) NSString *flbNibName; +@property (nonatomic, strong) NSBundle *flbNibBundle; @end #pragma clang diagnostic push @@ -47,13 +49,15 @@ { [FLUTTER_APP.flutterProvider prepareEngineIfNeeded]; if(self = [super initWithEngine:FLUTTER_APP.flutterProvider.engine - nibName:nil - bundle:nil]){ + nibName:_flbNibName + bundle:_flbNibBundle]){ [self _setup]; } return self; } +#pragma clang diagnostic push +#pragma clang diagnostic ignored "-Wobjc-designated-initializers" - (instancetype)initWithCoder:(NSCoder *)aDecoder{ if (self = [super initWithCoder: aDecoder]) { NSAssert(NO, @"unsupported init method!"); @@ -61,6 +65,13 @@ } return self; } +#pragma pop + +- (instancetype)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil { + _flbNibName = nibNameOrNil; + _flbNibBundle = nibBundleOrNil; + return [self init]; +} - (void)setName:(NSString *)name params:(NSDictionary *)params {