单击IOS中的“单击”按钮上的“新建视图控制器”

单击IOS中的“单击”按钮上的“新建视图控制器”,ios,objective-c,Ios,Objective C,我有一个按钮动作,在这个动作中,我试图根据条件打开视图控制器,但是视图控制器没有打开。我使用故事板标识符方法打开了新的视图控制器,我不明白为什么它没有打开。我的情况不是很好,我得到了空,但当我得到登录,并返回到主屏幕再次显示空。 我的密码是 - (IBAction)History:(id)sender { NSString *savedValue = [[NSUserDefaults standardUserDefaults] stringFor

我有一个按钮动作,在这个动作中,我试图根据条件打开视图控制器,但是视图控制器没有打开。我使用故事板标识符方法打开了新的视图控制器,我不明白为什么它没有打开。我的情况不是很好,我得到了空,但当我得到登录,并返回到主屏幕再次显示空。 我的密码是

- (IBAction)History:(id)sender {

NSString *savedValue = [[NSUserDefaults standardUserDefaults]
                        stringForKey:@"pin"];
if ([savedValue length]==0) {


    NSLog(@"INNNNN");

    UIStoryboard *story=[UIStoryboard storyboardWithName:@"Main" bundle:nil];

    RegisterViewController *vc = [story instantiateViewControllerWithIdentifier: @"Register"];
    [self.navigationController pushViewController:vc animated:YES];

}else{

    UIStoryboard *story=[UIStoryboard storyboardWithName:@"Main" bundle:nil];

    DetailsViewController *vc = [story instantiateViewControllerWithIdentifier: @"detail"];
    [self.navigationController pushViewController:vc animated:YES];
}
}

故事板是这样的,

如果您的所有ViewController未嵌入UINavigationcontroller(根目录),请使用
presentViewController
进行导航

- (IBAction)History:(id)sender {

NSString *savedValue = [[NSUserDefaults standardUserDefaults]
                        stringForKey:@"pin"];
  UIStoryboard *story=[UIStoryboard storyboardWithName:@"Main" bundle:nil];
  UIViewController *topViewVC;
if ([savedValue length]==0) {

    RegisterViewController *vc = [story instantiateViewControllerWithIdentifier: @"Register"];
     topViewVC = vc;

}else{

    DetailsViewController *vc = [story instantiateViewControllerWithIdentifier: @"detail"];
     topViewVC = vc;

}
 [self presentViewController:topViewVC animated:true completion:nil];

}
选项2


如果希望
pushViewController
可能是未来的用途,那么不要对代码进行任何更改,只需将
UINavigationcontroller
添加为root用户即可。在序列图像板中选择初始VC,然后选择xcode菜单-->编辑器-->嵌入-->导航控制器

似乎没有将基本视图控制器嵌入导航控制器。在故事板中选择您的初始VC。转到编辑器->嵌入->导航控制器

你的VC嵌入到导航控制器中,或者不打印“savedValue”的值,这样你就可以得到更好的想法,而不需要导航控制器@Anbu.KarthikIts在我记录保存值时显示空值@TofaaniKaanudoi没有对所有视图控制器使用UINavigationcontroller,但很少有人使用它@安布。Karthik@Oneeb-哦,那么没问题,兄弟,使用任何一种选择,但在我的建议中,最好使用选项2,用于处理导航堆栈,当您需要时,例如,您希望仅在一次中呈现VC,然后使用呈现其他使用push@Oneeb-不清楚
我登录并再次返回主屏幕,它再次显示为空。
,你怎么回来我有嵌入式导航控制器,但它不会去任何地方@安布。Karthik@Oneeb-您是否可以更新问题?是否可以连接项目?我已添加导航控制器,但它不在那里@拉克斯曼·卡纳尔