2011-08-04 3 views
1

마스터보기 컨트롤러를 세로 모드로 표시 할 수 있으므로 MGSplitViewController를 사용해야합니다. 그러나 분할 화면을 표시하기 전에 로그인 화면을 표시해야합니다. 불행히도 내가 호출 한 다른 메서드 때문에 시작시 전체 화면으로보기 컨트롤러를 팝업 할 수 없습니다! 아래, 내 애플 대리인 및 자세히보기 컨트롤러 코드입니다. 선택자 메소드를 사용하면 모달을 열 수 없습니다.MGSplitViewController가 루트가 아닙니다.

AppDelegate.h은 그렇지 모든 것이 표준이다 MGSplitViewControllerAppDelegate.h

// RandomStringAppDelegate.m 
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {  

    // Override point for customization after app launch. 
    // Set the split view controller as the window's root view controller and display. 
    //self.window.rootViewController = self.splitViewController; 
    // Add the split view controller's view to the window and display. 

    NSUserDefaults *prefs = [NSUserDefaults standardUserDefaults]; 
    [prefs setObject:@"YES" forKey:@"FirstRun"]; 


    [window addSubview:splitViewController.view]; 

    [window makeKeyAndVisible]; 


    [rootViewController performSelector:@selector(selectFirstRow) withObject:nil afterDelay:0]; 
    [splitViewController performSelector:@selector(toggleMasterView:) withObject:nil afterDelay:0]; 
    [detailViewController performSelector:@selector(configureView) withObject:nil afterDelay:0]; 

    //[self.window makeKeyAndVisible]; 

    return YES; 
} 

사용하여 구성되었다! 불행히도, 내게 충돌하기 때문에 여기서 모달을 팝핑 할 수 없습니다!

답변

0

MGSplitViewController에서 클래스를 파생시키고 해당 클래스의 viewDidLoad 또는 viewWillAppear :에서 처리 할 수 ​​있습니다. 그래서 당신의 prefs 키 "FirstRun"을 추적 할 수 있고 "YES"로 설정하면 viewDidLoad에서 모달을 시작하는 동안 splitview를 숨 깁니다. 나는 이것이 일을 할 수 있다고 생각한다. btw 위의 코드에서 [prefs synchronize]가 누락되었으므로 키를 다시 쓰지 않아도됩니다.

관련 문제