I want to know what is the current loaded storyboard,I used the below code but it is still get me the Main storyboard not the current.
//This get me the Main
If you are working in a UIViewController class that is instantied or segues through the storyboard the most simple way is :
UIStoryboard *storyBoard = self.storyboard;
If you are in a UIView class that is in a UIViewController
UIResponder *responder = self;
while (![responder isKindOfClass:[UIViewController class]]) {
responder = [responder nextResponder];
if (nil == responder) {
break;
}
}
UIViewController *viewController = (UIViewController *) responder;
UIStoryboard *storyBoard = viewController.storyboard;
Just do this, this may solve your query
NSString *storyboardName;
if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad) {
storyboardName = @"iPad";
} else {
storyboardName = @"iPhone";
}
UIStoryboard *storyBoard = [UIStoryboard storyboardWithName:storyboardName bundle:nil];
Building on Durican's answer above:
Within a view controller:
UIStoryboard * storyboard = self.storyboard;
NSString * storyboardName = [storyboard valueForKey:@"name"];
(The name will not include the ".storyboard" filename extension.)