2012-09-11 2 views
0
나는 보편적 인 응용 프로그램에 아이폰 응용 프로그램을 변환하려고

에 범용으로 아이폰 응용 프로그램을 변환, 여기 ============= 내 코드엑스 코드 4 오류

if ([[UIDevice currentDevice] userInterfaceIdiom] == UIUserInterfaceIdiomPhone) { 
     self.viewController = [[ViewController alloc] initWithNibName:@"ViewController_iPhone" bundle:nil]; 

     // self.viewController = [[SearchViewController alloc] initWithNibName:@"SearchViewController" bundle:nil]; 
     [self.window addSubview:self.viewController.view]; 
     [self.timer invalidate]; 
     self.timer = nil; 
     self.timer = [NSTimer scheduledTimerWithTimeInterval: 3 target: self selector: @selector (pullnextview) userInfo: nil repeats: YES]; 
    } else { 
     self.viewController = [[ViewController alloc] initWithNibName:@"ViewController_iPad" bundle:nil]; 
     [self.window addSubview:self.viewController.view]; 
     [self.timer invalidate]; 
     self.timer = nil; 
     self.timer = [NSTimer scheduledTimerWithTimeInterval: 3 target: self selector: @selector (Ipadpullnextview) userInfo: nil repeats: YES]; 
    } 

입니다 ================================================== ===================

-(void)pullnextview 
{ 
    [self.viewController.view removeFromSuperview]; 
    [self.timer invalidate]; 
    self.timer = nil; 
    NSArray *viewsArray; 
    //create the first view controller 

    SearchViewController *navController0 = [[SearchViewController alloc] initWithNibName:@"SearchViewController" bundle:nil]; 

    navController0.tabBarItem.image = [UIImage imageNamed:@"search.png"]; 
    [navController0 setTitle:@"Neuen Termin buchen"]; 

    //create the navigation controller and use NavRootController as its root 
    UINavigationController *nav0 = [[UINavigationController alloc] initWithRootViewController:navController0]; 
    UINavigationController *nav; 
    NSUserDefaults *standardUserDefaults = [NSUserDefaults standardUserDefaults]; 
    int uid = [standardUserDefaults integerForKey:@"dmloginid"]; 
    [standardUserDefaults synchronize]; 

    if(uid>0) 
    { 

     SearchViewController *navController = [[SearchViewController alloc] initWithNibName:@"SearchViewController" bundle:nil]; 
     navController.tabBarItem.image = [UIImage imageNamed:@"appointment.png"]; 
     [navController setTitle:@"Meine Termine"]; 
     nav = [[UINavigationController alloc] initWithRootViewController:navController]; 

    } 
    else 
    { 
     LoginViewController *navController = [[LoginViewController alloc] initWithNibName:@"LoginViewController" bundle:nil]; 
     navController.tabBarItem.image = [UIImage imageNamed:@"appointment.png"]; 
     [navController setTitle:@"Meine Termine"]; 
     nav = [[UINavigationController alloc] initWithRootViewController:navController]; 

    } 


    SettingsViewController *navController3 = [[SettingsViewController alloc] initWithNibName:@"SettingsViewController" bundle:nil]; 
    navController3.tabBarItem.image = [UIImage imageNamed:@"setting.png"]; 
    [navController3 setTitle:@"Einstellungen"]; 

    //create the navigation controller and use NavRootController as its root 
    UINavigationController *nav3 = [[UINavigationController alloc] initWithRootViewController:navController3]; 
    viewsArray = [NSArray arrayWithObjects:nav0,nav,nav3, nil]; 
    UITabBarController *tabbarController = [[UITabBarController alloc] init]; 
    tabbarController.view.frame = CGRectMake(0,0,320,460); 
    //then tell the tabbarcontroller to use our array of views 
    [tabbarController setViewControllers:viewsArray]; 

    //then the last step is to add the our tabbarcontroller as subview of the window 
    self.window.rootViewController = tabbarController; 


} 

-(void)Ipadpullnextview 
{ 
    [self.viewController.view removeFromSuperview]; 
    [self.timer invalidate]; 
    self.timer = nil; 
    NSArray *viewsArray; 
    //create the first view controller 

    SearchViewController *navController0 = [[SearchViewController alloc] initWithNibName:@"IpadSearchViewController" bundle:nil]; 

    navController0.tabBarItem.image = [UIImage imageNamed:@"search.png"]; 
    [navController0 setTitle:@"Neuen Termin buchen"]; 

    //create the navigation controller and use NavRootController as its root 
    UINavigationController *nav0 = [[UINavigationController alloc] initWithRootViewController:navController0]; 
    UINavigationController *nav; 
    NSUserDefaults *standardUserDefaults = [NSUserDefaults standardUserDefaults]; 
    int uid = [standardUserDefaults integerForKey:@"dmloginid"]; 
    [standardUserDefaults synchronize]; 

    if(uid>0) 
    { 

     SearchViewController *navController = [[SearchViewController alloc] initWithNibName:@"IpadSearchViewController" bundle:nil]; 
     navController.tabBarItem.image = [UIImage imageNamed:@"appointment.png"]; 
     [navController setTitle:@"Meine Termine"]; 
     nav = [[UINavigationController alloc] initWithRootViewController:navController]; 

    } 
    else 
    { 
     LoginViewController *navController = [[LoginViewController alloc] initWithNibName:@"IpadLoginViewController" bundle:nil]; 
     navController.tabBarItem.image = [UIImage imageNamed:@"appointment.png"]; 
     [navController setTitle:@"Meine Termine"]; 
     nav = [[UINavigationController alloc] initWithRootViewController:navController]; 

    } 


    SettingsViewController *navController3 = [[SettingsViewController alloc] initWithNibName:@"IpadSettingsViewController" bundle:nil]; 
    navController3.tabBarItem.image = [UIImage imageNamed:@"setting.png"]; 
    [navController3 setTitle:@"Einstellungen"]; 

    //create the navigation controller and use NavRootController as its root 
    UINavigationController *nav3 = [[UINavigationController alloc] initWithRootViewController:navController3]; 
    viewsArray = [NSArray arrayWithObjects:nav0,nav,nav3, nil]; 
    UITabBarController *tabbarController = [[UITabBarController alloc] init]; 
    tabbarController.view.frame = CGRectMake(0,0,320,460); 
    //then tell the tabbarcontroller to use our array of views 
    [tabbarController setViewControllers:viewsArray]; 

    //then the last step is to add the our tabbarcontroller as subview of the window 
    self.window.rootViewController = tabbarController; 


} 

====================== ========================================================================================================== ========

나도 같은 코드를 포함하는 두 개의 다른 함수를 호출하고 .xib는 다릅니다. 그 후에 코드를 실행하려고하면이 오류가 발생합니다.

============================================== ====================================

*** Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: '-[UIViewController _loadViewFromNibNamed:bundle:] loaded the "IpadSearchViewController" nib but the view outlet was not set.' 

누구든지 나를 도울 수 있습니다. 나는이 섹션에서 새로운 것이다.

답변

3

이동 아이 패드 XIB 및 바로보기를 클릭 한 다음 owner..It이

+0

잘 작동된다 파일에 뷰의 참조 콘센트를 연결하여보기 콘센트를 connnect 그것으로 어떤 문제가있는 것입니다. 그것은 연결되지 않습니다. 빈보기에서 내가보기를 추가했습니다. 그 후에 나는 말한 것을 해보려고합니다. 그러나 그것은 연결되어 있지 않습니다. 그것은 .. (6 개) 검사 (XIB의 Rigth 쪽)을 보여 세 번째 관리자, 즉 "신원 관리자"를 선택하고 chnage한다 u는 XIB 파일의 소유자를 클릭 inherit..First하는 클래스를 지정하지 않은 – Shyantanu

+0

ok..seems의 클래스 "SearchViewController".. 다음 이전에 언급 한 단계를 시도하십시오. 그리고 좋은가는 가야 : – AppleDelegate

+0

당신의 경우 u는 "ViewController"또는 해당 컨트롤러 X에 대해 표시하고자하는 다른 컨트롤러를 입력 할 수 – AppleDelegate