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
 {