【问题标题】:How can I create a UISplitViewController in my tab bar application (iPad)?如何在我的标签栏应用程序 (iPad) 中创建 UISplitViewController?
【发布时间】:2012-03-22 13:27:12
【问题描述】:

我见过几个在标签页中使用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

在这一点上我完全被难住了,所以任何帮助都将不胜感激。

更多信息:

更具体地说,我一直在关注此 tutorial 直到“制作我们的模型”部分,因为没有显示 UISplitView,所以我停了下来。

【问题讨论】:

    标签: ios ipad uitabbarcontroller uisplitviewcontroller ios5.1


    【解决方案1】:

    【讨论】:

    • 这是一个真正出色的子类——我无法用语言形容它的真正用处。非常感谢。
    【解决方案2】:

    我知道这是一个已回答的帖子,但我最近在 iOS6 中解决了这个问题。我尝试实现 IntelligentSplitViewController 但无法让它一直工作所有 - 可能是因为我的目标是 iOS6。基本上我的解决方案涉及继承 UISplitViewController 和 UITabBarController 并处理旋转事件。我在blog post 中详细介绍了我的解决方案。希望这会有所帮助。

    【讨论】:

      猜你喜欢
      • 2013-05-09
      • 2018-09-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-10-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多