我正在制作一个框架。但最后,我遇到了rootViewController
UIWindow
的问题
我有一个UIViewController
的子类,在类中有一个名为- (void)showLogin
的方法。
我知道我可以使用[self.window setRootViewController:myClass];
让app获取rootViewController。但我只想使用一种方法[[WDLoginViewController sharedInstance] showLogin];
来达到同样的效果。
要做到这一点,任何人都可以给我一些建议吗?
#import <UIKit/UIKit.h>
@interface WDLoginViewController : UIViewController
+ (instancetype)sharedInstance;
- (void)showLogin;
@end
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
[[WDLoginViewController sharedInstance] showLogin];
self.window.backgroundColor = [UIColor whiteColor];
[self.window makeKeyAndVisible];
return YES;
}
答案 0 :(得分:0)
如果您不想设置控制器,则不使用控制器使用视图。但我建议你使用setRootViewController
,你必须有一个rotViewController。也许尝试将presentViewController
用于与setRootViewController
一起使用的控制器,以加载控制器WDLoginViewController
。
答案 1 :(得分:0)
以下是使用以下代码实现的方法: -
//In your WDLoginViewController
//Create this property in .h file or .m file
@property (strong, nonatomic) UIWindow *rootWindow;
-(void)showLogin {
self.rootWindow = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
[self.rootWindow setRootViewController:self];
[self.rootWindow makeKeyAndVisible];
}