2014-10-22 62 views
0

我在整個Internet上搜索了我的問題,但很顯然是爲了找到任何東西而愚蠢。在使用Storyboard時不通過Storyboard推送ViewController

在我的應用我有一個故事板的工作和我的大部分的ViewController都是這種風格加載(我有一個導航控制器工作):

MyViewControllerClass *viewController = [storyboard instantiateViewControllerWithIdentifier:@"myViewController"]; 
[self.navigationController pushViewController:viewController animated:YES]; 

現在我的問題:是否有可能在代碼中推送VC而不使用Storyboard?像在古代時期,但這不適用於我:

MyViewControllerClass *viewController = [[MyViewControllerClass alloc] init]; 
[self.navigationController pushViewController:viewController animated:YES]; 

請幫助我,我要瘋了。

在此先感謝。

+0

必須添加導航到應用程序委託它會工作,相信我 – NullData 2014-10-22 08:45:11

+0

它以什麼方式不起作用?空視圖是否被推入,或者什麼也沒有被推入? – jrturton 2014-10-22 08:52:12

+0

推送動畫有點瘋狂,推送的視圖只是黑色。 – user3083408 2014-10-22 08:52:49

回答

0

是的,你可以做到這一點,而無需使用故事板只需要在應用程序委託添加導航控制器這樣,在那之後它會正常工作

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions 
{ 
    self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]]; 
    self.viewController = [[ViewController alloc] initWithNibName:@"ViewController" bundle:nil]; 
    navigationController = [[UINavigationController alloc] initWithRootViewController:self.viewController]; 

    self.window.rootViewController=navigationController; 

    [self.window makeKeyAndVisible]; 

    return YES; 

} 
-1

可以證實它做的工作。 如果viewController爲零,則推動將採取這種方式。你的alloc init是否創建了一個實例?

0

您可以創建xib文件並將其推送。你不能沒有視覺地推動。

ViewControllernew* vv = (ViewControllernew*)[[[NSBundle mainBundle] loadNibNamed:@"ViewControllernew" owner:self options:nil] objectAtIndex:0]; 
[self.navigationController pushViewController:vv animated:YES]; 
+0

你是什麼意思?我只是想在代碼中創建接口,然後創建實例並推送它。這不可能嗎? – user3083408 2014-10-22 08:45:54

+0

「你不能沒有視覺地推動」是什麼意思? – JoeFryer 2014-10-22 10:38:32

+0

沒有xib文件或故事板。 – 2014-10-22 11:47:14

相關問題