我希望能够在运行时简单地调用 [UIStoryboard mainStoryboard]
来获取 iPad 或 iPhone Storyboard。
最佳答案
这是一个 UIStoryboard 类别,它会做这个:
UIStoryboard+LDMain.h
#import <UIKit/UIKit.h>
@interface UIStoryboard (LDMain)
+ (instancetype)LDMainStoryboard;
@end
UIStoryboard+LDMain.m
#import "UIStoryboard+LDMain.h"
UIStoryboard *_mainStoryboard = nil;
@implementation UIStoryboard (LDMain)
+ (instancetype)LDMainStoryboard {
if (!_mainStoryboard) {
NSBundle *bundle = [NSBundle mainBundle];
NSString *storyboardName = [bundle objectForInfoDictionaryKey:@"UIMainStoryboardFile"];
_mainStoryboard = [UIStoryboard storyboardWithName:storyboardName bundle:bundle];
}
return _mainStoryboard;
}
@end
这是一个 link to the gist
关于ios - 在运行时获取主 Storyboard,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19327646/