2015-01-29 5 views
-1

Xcode 프로젝트에서 응용 프로그램 대리인을 설정하는 방법을 알고 싶다면 일반보기 컨트롤러 파일 (ViewController.h 및 .m)이 해당 컨트롤을 제어하는 ​​파일이 될 수 있습니다. 루트 뷰 컨트롤러 내 애플 리케이션 대리인에서 설정합니다. 이미 단지 그 일을하는 것처럼App Delegate에서 특정보기 컨트롤러를 루트로 설정하십시오.

내 AppDelegate.h는

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { 

    CGRect rect = [[UIScreen mainScreen] bounds]; 

    self.window.frame = rect; 

    planet3dController *theController; 
    self.controller = theController; 

    self.window.rootViewController = self.controller; 

    GLView *glView = [[GLView alloc] initWithFrame:rect]; 
    [self.window addSubview:glView]; 

    theController.view=glView; 

    glView.controller = self.controller; 
    glView.animationInterval = 1.0/kRenderingFrequency; 
    [glView startAnimation]; 

    glView.layer.contentsScale = [UIScreen mainScreen].scale; 

    return YES; 
} 
+1

힌트 :'self.window.rootViewController = self.controller,' –

+0

항상 –

+0

응용 프로그램 창 응용 프로그램 실행의 끝에서 루트 뷰 컨트롤러를 것으로 예상되는 동일한 문제가 :( –

답변

1

self.window.rootViewController = self.controller;

것 같습니다.

귀하의 앱이 무엇을 시도하는지 알 수는 없지만 [self.window addSubview:glView];은 다소 의심 스럽습니다. glView을 창이 아닌 rootViewController의 하위보기로 추가하려고합니다.

초기 "일반"뷰 컨트롤러 파일을 rootViewController로 만들려면 예제에서 현재 수행중인 것처럼 planet3dController 특수한 것으로 덮어 쓰지 말고 해당 컨트롤러의 인스턴스로 설정하십시오.

+0

내 viewController는 OpenGL로 만든 구체입니다 핀치 확대/축소) –

관련 문제