문제

나는에서 인터넷 검색,오랜 시간이 있지만 솔루션을 얻을,iOS5.1 마스터 보기에 오른쪽 슬쩍 사라질에서 왼쪽합니다.

내가 원하는 로드하는 마스터 보기 버튼을 클릭의 세부 보고,어떻게 가능할까요?

아래 코드가 나를 위해 일하는 마스터 보기 숨기기,그러나 검은 화면의 크기는 마스터 보리에 남아 있는 마스터 보기입니다.

- (void)hideMaster:(BOOL)hide {

  AppDelegate *appDelegate=(AppDelegate *)[[UIApplication sharedApplication] delegate];
 UISplitViewController* spv = appDelegate.splitViewController;
 spv.delegate=self;
 self.hiddenMaster= hide;
 [spv willRotateToInterfaceOrientation:self.interfaceOrientation duration:0];
 [spv.view setNeedsLayout];     
 }


- (BOOL)splitViewController:(UISplitViewController*)svc shouldHideViewController: (UIViewController *)vc inOrientation:(UIInterfaceOrientation)orientation {

NSLog(@"Spv: I do %@show the master", (self.hiddenMaster?@"not ":@""));

return self.hiddenMaster;
}

사전에 감사합니다

도움이 되었습니까?

해결책

는 표준 방법,내가 그것을 이해하기로는,이입니다:

  1. 앱에서 위임한 파일을 설정해야의 하나의 초기 보기 컨트롤러하 UISplitViewControllerDelegate.하지 않으면 이 여기에 당신을 얻지 않을 것이 첫 번째 버튼을 경우 응용 프로그램을 시작합 세로 방향입니다.예를 들어:

    UINavigationController *masterNavigationController = [self.splitViewController.viewControllers objectAtIndex:0];
    MyMasterVC *master = [self.masterNavigationController.viewControllers objectAtIndex:0];
    self.splitViewController.delegate = master;
    
  2. 에 MyMasterVC.h 으로 자신을 선언 <UISplitViewControllerDelegate> 을 개정하여 인터페이스와 같은:

    @interface MyMasterVC : UIViewController <UISplitViewControllerDelegate>

  3. 에 MyMasterVC.m 를 구현하는 데 필요한 각종 방법의 UISplitViewControllerDelegate 는 여기서 설명하는 애플의 설명서

방법을 숨기고 표시하는 뷰 컨트롤러 당신에게 UIBarButtonItem 해야 하는 다음을 추가하거나 빼앗아에서,당신의 세부사항 보기 컨트롤러(에서,예를 들어,UIToolBar 또는 UINavigationBar).

이 있는 경우 문제를 다루는 그것은,그것은 덮는 꽤 잘 하나에서의 강연에서 이해 우수한 폴 Hegarty 의 스탠포드 대학교(2010 또는 2011 년을 기억할 수 없).당신은 정말 살펴 보시기 바랍니다.iOS5.1 는 방법을 변경 MasterVC 이에서 표시되는 엄격한"popover"방법에서는 물론,하지만 제가 생각하는 설명하는 방법은 여전히 작동합니다.그것은 아주 초기 과정에서,어쩌면 강의 5 6 7 입니다.나는 그것의 분할이라고 전망,iPad 분할 전망 또는 이와 유사한.

편집: 그것은 강의 7 이라고 합:"UIToolbar 과 iPad 응용 프로그램"

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top