Ios7 无法在另一个viewController的ViewDidload方法中推送viewController
我想在iOS应用程序中执行类似的操作 我有一个启动屏幕和一个登录屏幕,在Splashviewcontroller之后显示LoginViewcontroller 我正在检查Ios7 无法在另一个viewController的ViewDidload方法中推送viewController,ios7,uinavigationcontroller,pushviewcontroller,viewdidload,Ios7,Uinavigationcontroller,Pushviewcontroller,Viewdidload,我想在iOS应用程序中执行类似的操作 我有一个启动屏幕和一个登录屏幕,在Splashviewcontroller之后显示LoginViewcontroller 我正在检查viewdiload中的一些条件,在特定条件下,我想推送到另一个viewcontroller。这在ios 5和ios 6中有效,但在ios 7中,如果此条件为真,则不会加载 这是我的密码 -(void)viewDidLoad { [super viewDidLoad]; // Do any additional set
viewdiload
中的一些条件,在特定条件下,我想推送到另一个viewcontroller。这在ios 5和ios 6中有效,但在ios 7中,如果此条件为真,则不会加载
这是我的密码
-(void)viewDidLoad
{
[super viewDidLoad];
// Do any additional setup after loading the view from its nib.
self.navigationController.navigationBar.hidden=YES;
mutArrLoggedUsrarray=[[NSMutableArray alloc]init];
newuser=[NEWLoginUSER sharedManager];
nws=[NEWWebservice sharedManager];
alertObject=[AlertsString sharedManager];
alert=[CreateProgressAlert sharedManager];
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
NSString *strLogStatus=[defaults objectForKey:@"LOGWAY"];
if ([strLogStatus isEqualToString:@"EMAIL"]) {
phoneLiginView.hidden=YES;
emailLoginView.hidden=NO;
isCurrentViewPhone=NO;
KeychainItemWrapper *keychainItemPHONE = [[KeychainItemWrapper alloc] initWithIdentifier:@"PHONENO" accessGroup:nil];
NSString *userTypedEmail=[keychainItemPHONE objectForKey:(__bridge id)(kSecAttrAccount)];
NSString *userTypedPassword=[keychainItemPHONE objectForKey:(__bridge id)(kSecValueData)];
newuser.strEmail=userTypedEmail;
TxtEmail.text=newuser.strEmail;
// [changeBoxbtn setTitle:@"LOGIN WITH PHONE NUMBER" forState:UIControlStateNormal];
changeBoxbtn.hidden=YES;
}
else if([strLogStatus isEqualToString:@"PHONE"])
{
txtUsrname.text=[newuser.strPhoneNum stringByReplacingOccurrencesOfString:@"+94" withString:@""];
isCurrentViewPhone=YES;
//[changeBoxbtn setTitle:@"LOGIN WITH EMAIL ID" forState:UIControlStateNormal];
changeBoxbtn.hidden=YES;
}
else{
isCurrentViewPhone=YES;
RegisterViewController *regvieww=[[RegisterViewController alloc] initWithNibName:@"RegisterViewController" bundle:nil];
[regvieww.view addSubview:regvieww.viewVerify];
[regvieww.view addSubview:regvieww.viewTop];
[regvieww.view addSubview:regvieww.regViaEmailView];
[regvieww.view addSubview:regvieww.selectorView];
[self.navigationController pushViewController:regvieww animated:YES];
}
originalCenter=self.view.center;
if ([UIScreen mainScreen].bounds.size.height==480) {
originalCenter.y=240;
}
}
你能告诉我这有什么问题吗。如何解决此问题请尝试将条件移动到方法中的AppDelegate: 完成发射 并相应地设置第一个viewController 您还可以尝试将代码从viewDidLoad移动到ViewWillDisplay
推按viewDidLoad中设置了动画的viewController将不起作用。我在这个else部分中设置了它。请检查并告诉meDon不要在ViewDidLoad中推送另一个viewcontroller。尝试使用ViewDidAspect方法。但是它将显示第一个vwcontroller,然后转到第二个,,,我想避免显示第一个vwcontroller。有什么方法可以做到这一点吗?然后您可能想尝试使用添加ChildViewController的概念。