UITabitController를 UITabbarController와 함께 마스터 뷰 및 탐색 컨트롤러로 사용하고 있습니다. 마스터보기의 각 탭에는 탐색 컨트롤러가 포함되어 있습니다. 마스터보기의 탭 중 하나를 선택하면 상세보기 탐색 컨트롤러에보기가 푸시됩니다.UISplitViewController popover가 비어 있습니다.
recentsviewController = [[RecentsViewController_ipad alloc]initWithNibName:@"RootViewController" bundle:nil];
recentsNav = [[UINavigationController alloc] initWithRootViewController:recentsviewController];
//similarly rootNav and favNav
NSArray* controllers = [NSArray arrayWithObjects:recentsNav,self.rootNav,favNav,nil];
self.tabbarController.viewControllers = controllers;
detailViewController=[[LoginViewController_ipad alloc]init];
detailNav=[[UINavigationController alloc]initWithRootViewController:detailViewController];
splitViewController =[[UISplitViewController alloc]init];
splitViewController.viewControllers=[NSArray arrayWithObjects:self.tabbarController,self.detailNav,nil];
splitViewController.delegate = self.detailViewController;
[self.window addSubview:splitViewController.view];
[self.window makeKeyAndVisible];
이것은 제대로 작동하는 것 같습니다. 앱이 세로 모드로 전환되면 '찾아보기'버튼이 탐색 바에 추가됩니다. 이 버튼을 클릭하면 탭과 함께 숨겨진보기가 완벽하게 표시됩니다. 탭 사이를 전환하고 popover에 표시된보기에서 작업 할 수 있습니다. popover area가 아닌 다른 곳을 두 드렸을 때 Popover는 예상대로 해제됩니다.
작동하지 않는 두 가지는 팝 오버가 바 버튼을 선택해야하는 사용자없이 세로 모드로 자신의 때마다 응용 프로그램은 스위치에 표시 탐색에 추가하는
- 있습니다
- 에 어떤 경우에는 popover를 프로그래밍 방식으로 기각해야합니다.
내가 시도 FOLL 코드 :
- (void)splitViewController: (UISplitViewController*)svc willHideViewController:(UIViewController *)aViewController withBarButtonItem:(UIBarButtonItem*)barButtonItem forPopoverController: (UIPopoverController*)pc {
barButtonItem.title = @"Browse";
[[self navigationItem] setLeftBarButtonItem:barButtonItem];
self.appDelegate.rootPopoverButtonItem = barButtonItem;
self.appDelegate.splitViewPopover = pc;
[self.appDelegate.splitViewPopover presentPopoverFromBarButtonItem:self.appDelegate.rootPopoverButtonItem permittedArrowDirections:UIPopoverArrowDirectionUp animated:NO];
}
이는 방향 변경 검은 색 반투명 팝 오버마다 추가합니다. 탐색 버튼을 클릭했을 때 표시되는 내용을 표시하려면 어떻게합니까? 일반적으로 dismissPopvoerAnimated가 작동하지 않는 것 같습니다.
도움을 주시면 감사하겠습니다.