2012-03-22 3 views
3

탭 안에 UISplitViewController을 사용하는 여러 앱을 보았습니다. 이것은 정확히 내가해야 할 일이지만 몇 가지 문제가 있습니다.내 탭 막대 응용 프로그램 (iPad)에 UISplitViewController를 만들려면 어떻게해야합니까?

지금까지 내가했던 다음과 같이에서 그리고 내 응용 프로그램 위임 클래스에서

...

// Set up the cuts tab 
UIViewController *splitViewController = [[SplitViewController alloc] initWithNibName:@"SplitViewController" bundle:nil]; 

// Set up the tab bar 
self.tabBarController = [[UITabBarController alloc] init]; 
self.tabBarController.viewControllers = [NSArray arrayWithObjects:splitViewController, nil]; 

는 그 다음 SplitViewController.h에 가지고 있습니다 ...

#import <UIKit/UIKit.h> 

@class LeftView; 
@class RightView; 

@interface SplitViewController : UIViewController 
{ 
    UISplitViewController *splitView; 
    LeftView *leftView; 
    RightView *rightView; 
} 


@property(nonatomic, retain)IBOutlet UISplitViewController *splitView; 
@property(nonatomic, retain)IBOutlet LeftView *leftView; 
@property(nonatomic, retain)IBOutlet RightView *rightView; 


@end 

해당 .m 파일이 있습니다 ...

#import "SplitViewController.h" 

@implementation SplitViewController 
@synthesize splitView, leftView, rightView; 

#pragma mark - View Lifecycle 

- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil 
{ 
    self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil]; 
    if (self) 
    { 
     self.title = @"Tab A"; 
     self.tabBarItem.image = [UIImage imageNamed:@"My_Icon"]; 
    } 
    return self; 
} 

- (void)viewDidLoad 
{ 
    [super viewDidLoad]; 

    self.view = splitView.view; 
} 

- (void)viewDidUnload 
{ 
    [super viewDidUnload]; 

    self.splitView = nil; 
    self.leftView = nil; 
    self.rightView = nil; 
} 

- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation 
{ 
    return YES; 
} 

@end 

다음으로 수행 한 작업은 leftView에 대해 UITableViewController 클래스를 만들고 rightView에 대해 UIViewController 클래스를 만드는 것입니다.

마지막으로 IBOutlets을 해당 구성 요소에 연결하고 실행 해 보았습니다. 그러나, 내가 앱을 실행하면 모두가 보일 것으로 예상되는 검은 색 화면이 표시됩니다. UISplitViewController.

나는이 시점에서 완전히 엉망이되어 어떤 도움이라도 정말 감사 할 것입니다.

멀어져 정보 :

내가 UISplitView가 표시되지 않았기 때문에 나는 중단, '우리의 모델 만들기 '섹션까지이 tutorial을 다음 한 구체적으로.

답변

3

IntelligentSplitViewController을 확인하십시오.

+0

이것은 진정으로 훌륭한 서브 클래스입니다. 진정으로 얼마나 유용한 지 말로 표현할 수 없습니다. 고마워. –

2

저는 답변이있는 게시물 인 것을 알고 있지만 최근에 iOS6에서이 문제를 해결했습니다. IntelligentSplitViewController 구현을 시도했지만 작동하도록 만들 수 없었습니다 모두 시간 - 아마도 iOS6을 (를) 타겟팅했기 때문일 수 있습니다. 기본적으로 내 솔루션 UISplitViewController 및 UITabBarController 하위 처리 및 회전 이벤트 처리. 내 솔루션에 대한 자세한 내용은 blog post입니다. 희망이 도움이됩니다.