Dej*_*ell 8 objective-c uistoryboard
我想创建自己的UIStoryBoard并强制系统使用它(灵感来自Jody的答案).
我该怎么做?
@interface MyStoryboard : UIStoryboard没有调用创建类.
das*_*ght 10
你是在正确的路径子类化UIStoryboard:你现在需要做的就是将它插入你的应用程序.最简单的方法是在您的应用程序委托application:didFinishLaunchingWithOptions:方法中:
MyStoryboard.h
@interface MyStoryboard : UIStoryboard
-(id)instantiateViewControllerWithIdentifier:(NSString *)identifier;
@end
Run Code Online (Sandbox Code Playgroud)
MyStoryboard.m
@implementation MyStoryboard
-(id)instantiateViewControllerWithIdentifier:(NSString *)identifier {
NSLog(@"Instantiating: %@", identifier);
return [super instantiateViewControllerWithIdentifier:identifier];
}
@end
Run Code Online (Sandbox Code Playgroud)
MyAppDelegate.m
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
self.window.backgroundColor = [UIColor whiteColor];
UIStoryboard *storyboard = [MyStoryboard storyboardWithName:@"<identifier-of-your-storyboard>" bundle:nil];
self.window.rootViewController = [storyboard instantiateInitialViewController];
[self.window makeKeyAndVisible];
return YES;
}
Run Code Online (Sandbox Code Playgroud)
使用此代码,您将看到NSLog每次调用instantiateViewControllerWithIdentifier:方法时的调用.
| 归档时间: |
|
| 查看次数: |
1161 次 |
| 最近记录: |