2014-02-15 2 views
1

나는 표준 응용 프로그램의 위임에 기본값으로 기존 프로젝트의 응용 프로그램 대리자를 수정하고 시작하면이 장면에 내 사용자 정의보기 컨트롤러의보기를 추가했다 :내 UIView가로드되지 않는 이유는 무엇입니까?

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions 
{ 
    // Override point for customization after application launch. 
    SplashScreenController *controller = [[SplashScreenController alloc] init]; 
    [self.window addSubview:controller.view]; 
    return YES; 
} 

내가 이해할 수없는 것은, 왜 ISN은 '입니다 내보기가 보여? 확실히 내가보기 사실 부하에서했던 것을 볼 수 있기 때문에 화면은 항상 로딩 후 검은 PERMA된다

- (void)viewDidLoad 
{ 
    [super viewDidLoad]; 
    // Do any additional setup after loading the view from its nib. 
    NSLog(@"View did load."); 
} 

답변

0

나는 그것을 알아 낸 것입니다. 뷰 컨트롤러에 창을 할당하지 않았고 창 키를 보이지 않게했습니다.

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions 
{ 
    self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]]; 
    // Override point for customization after application launch. 
    SplashScreenController *controller = [[SplashScreenController alloc] init]; 
    [self.window addSubview:controller.view]; 
    self.window.backgroundColor = [UIColor whiteColor]; 
    [self.window makeKeyAndVisible]; 
    return YES; 
} 
+0

고맙습니다. 당신은 viewcontrollers보기를 창에 추가하지 않습니다. ! [self.window setRootViewController : controller] 메서드를 사용하고 싶습니다. 다시 UIKit을 사용하면 모든 것이 고통의 세계로 이어집니다! – LordT

+0

@LordT 오, 예, wh와 비슷합니다. 에서? – Alexandru

+1

뷰를 푸시해도 더 이상 작동하지 않거나 다음 버전의 OS에서 더 이상 작동하지 않을 수 있습니다. rootViewController getter가 작동하지 않거나 모달로 뷰를 표시하는 데 실패 할 수 있습니다. – LordT

2

난 당신이 뭘 하려는지 이해하기 힘든 시간을 보내고있어,하지만 그것은 본다 당신의 윈도우의 루트보기 컨트롤러를 설정한다는 것을 의미합니다. 이것을 시도하십시오 :

SplashScreenController *controller = [[SplashScreenController alloc] initWithNibName:@"theNibName" bundle:nil];    
[self.window setRootViewController:controller]; 
+0

내 말은, 나는 보통의 아이폰 OS 응용 프로그램의 위임에 기본적인 Cocos2D 응용 프로그램 위임의 논리를 변경하고, 화면에 간단한보기를로드하려고 : 코드는 위임에 다음과 같이되어 있어야합니다. 아쉽게도 내 응용 프로그램 대리인의 창에서 루트보기 컨트롤러를 설정하면 여전히 검정색 창을 띄게됩니다. ( – Alexandru

+1

@Alexandru 물론 뷰 컨트롤러의 빈 인스턴스를 할당/초기화하는 것입니다. xib에서 만들었 으면 initWithNib를 사용해야합니다. 내 게시물의 새 코드를 참조하십시오. –

+0

Nib 이름이 "SplashScreenController"또는 "SplashScreenController.xib"인 경우에도 여전히 검은 색으로 나타납니다. – Alexandru

관련 문제