Ios 如何显示动态创建的视图控制器
我遇到了一个问题,我不知道该怎么办 在我的应用程序中-当用户登录时,有4个选项 1-向他展示仪表板屏幕 2-如果出现响应,则向他显示默认屏幕(包含此屏幕名称的参数) 3-如果响应的参数为on,则显示变更计划屏幕 4-在用户设置其计划后显示更改pin屏幕 现在的问题是,在设置他的pin后如何进入默认屏幕,因为我不知道屏幕名称(查看控制器名称,因为它是动态的,来自服务器) 代码Ios 如何显示动态创建的视图控制器,ios,view,uiviewcontroller,Ios,View,Uiviewcontroller,我遇到了一个问题,我不知道该怎么办 在我的应用程序中-当用户登录时,有4个选项 1-向他展示仪表板屏幕 2-如果出现响应,则向他显示默认屏幕(包含此屏幕名称的参数) 3-如果响应的参数为on,则显示变更计划屏幕 4-在用户设置其计划后显示更改pin屏幕 现在的问题是,在设置他的pin后如何进入默认屏幕,因为我不知道屏幕名称(查看控制器名称,因为它是动态的,来自服务器) 代码 NSLog(@"Default Screen %@", mClient.defaultScreen); if([mCli
NSLog(@"Default Screen %@", mClient.defaultScreen);
if([mClient defaultScreen] != (id)[NSNull null] || [mClient defaultScreen].length != 0 ) {
NSLog(@"Going to push default screen : %@", mClient.defaultScreen);
[self pushDefaultScreen:mClient.defaultScreen];
} else {
NSLog(@"Default screen is nil, going to load dashboard");
[mClient setUPProgressHUDForView:self.view withLable:@"Generating Dashboard" andMessage:@"Please Wait.."];
for(UIView *subview in [self.scrollView subviews]) {
[subview removeFromSuperview];
}
NSLog(@"--> ::: Going to change here");
[self generateDashboard];
}
if(![mClient.showSetPinScreen isEqual:[NSNull null]] && ![mClient.showSetPinScreen isEqualToString:EMPTY_STRING]) {
NSLog(@"Parameter showSetPinScreen : %@", mClient.showSetPinScreen);
if([mClient.showSetPinScreen isEqualToString:STRING_VALUE_YES]) {
NSLog(@"mClient.showSetPinScreen parameter value is Y");
SetPinViewController *changePinViewController = [[SetPinViewController alloc] initWithNibName:@"SetPinViewController" bundle:nil];
changePinViewController.isFromLogin = STRING_VALUE_YES;
[self.navigationController pushViewController:changePinViewController animated:YES];
} else {
NSLog(@"mClient.showSetPinScreen parameter value is N");
}
}
if(![mClient.showCardPlanScreen isEqual:[NSNull null]] && ![mClient.showCardPlanScreen isEqualToString:EMPTY_STRING]) {
NSLog(@"Parameter showCardPlanScreen : %@", mClient.showCardPlanScreen);
if([mClient.showCardPlanScreen isEqualToString:STRING_VALUE_ZERO]) {
NSLog(@"Do nothing");
} else if([mClient.showCardPlanScreen isEqualToString:STRING_VALUE_ONE] || [mClient.showCardPlanScreen isEqualToString:STRING_VALUE_TWO]) {
NSLog(@"Show card plan screen %@", mClient.showCardPlanScreen);
ChangePlanViewController *changePlanVoewController = [[ChangePlanViewController alloc] initWithNibName:@"ChangePlanViewController" bundle:nil];
changePlanVoewController.isFromLogin = STRING_VALUE_YES;
[self.navigationController pushViewController:changePlanVoewController animated:YES];
}
或者,您可以在故事板上创建其中的4个,一个加载视图,其中4个视图与segues相关,并在dispatch方法中使用正确的标识符调用performSegue