我在故事板中有一个UINavigationController
控制器,它是一个入口点,其类为MyNavigationController
。
我没有从故事板中将rootviewcontroller
分配给UINavigationController
,但是想要从MyNavigationController
分配相同的内容,从一些初始化方法
请帮我怎么做或不可能吗?。
答案 0 :(得分:0)
因此,如果我理解正确并且您希望使用给定的视图控制器初始化它,则为子类UINavigationController
。
您可以覆盖init
中的MyNavigationController
并调用[super initWithRootViewController:myRootViewController]
,其中myRootViewController是UIViewController
或其子类的实例。
然后您将使用MyNavigationController
:
MyNavigationController *myNavigationController = [[MyNavigationController alloc] init];
答案 1 :(得分:0)
<强>选择-1 强>
您可以识别您的Stroryboard ID并设置为Root
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"MainStoryboard" bundle:nil];
UIViewController *rootViewController = [storyboard instantiateViewControllerWithIdentifier:@"LoginSignupVC"];
[[UIApplication sharedApplication].keyWindow setRootViewController:rootViewController];
}
<强>选择-2 强>
初始视图COntroller会自动识别您的根控制器
您可以使用属性
在viewcontroller上识别Stroryboard ID- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"MainStoryboard" bundle:nil];
MyNavigationController *rootViewController = [storyboard instantiateViewControllerWithIdentifier:@"LoginSignupVC"];
[[UIApplication sharedApplication].keyWindow setRootViewController:rootViewController];
}
<强>选择-3 强>
xcode - &gt;菜单 - &gt;编辑 - &gt; embedIn - &gt; NavigationController
你可以得到以下输出
它会自动找到你的根控制器