【问题标题】:MGSplitViewController port to iOS 6 using storyboard?MGSplitViewController 使用情节提要移植到 iOS 6?
【发布时间】:2013-05-23 16:39:22
【问题描述】:

我正在尝试将我的应用程序从 iphone 升级到 Universal。我有一个关键要求是能够隐藏主视图并仅显示应用程序重要部分的细节(横向)。

所有道路都指向MGSplitViewController。

但是,自首次发布以来,它并没有太多更新。用 ARC 编译它是直截了当的。但是,我大部分时间都在尝试了解如何从 Xib 过渡到此代码的 Storyboard。

我是 iOS 新手,我的经验仅限于 iOS 6 和 XCode 4.x。我的应用程序仅适用于 iOS 6。

有没有人成功将 MGSplitViewController 移植到最新的 iOS 和 XCode 上?

如果我能让它正常工作,我很乐意为其他遇到此问题的人重新发布 MGSplitViewController。

到目前为止,我已经创建了一个带有 UIViewController(子类为 MGSplitViewController)作为“初始视图控制器”的故事板。 导航控制器 - 表视图控制器支付为(子类到 RootViewController) 另一个带有工具栏、栏按钮等的 UIViewController(子类到 DetailViewController)。

这 3 个之间没有转义。 应用委托代码如下所示:

@synthesize window, splitViewController, detailViewController, rootNavigationController;

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
    // Remove the status bar
    [[UIApplication sharedApplication] setStatusBarHidden:YES];

    // Override point for customization after application launch.
    if ([[UIDevice currentDevice] userInterfaceIdiom] == UIUserInterfaceIdiomPad) {
        UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"MainStoryboard_iPad" bundle:nil];

        splitViewController = (MGSplitViewController *) self.window.rootViewController;

        rootNavigationController = [storyboard instantiateViewControllerWithIdentifier:@"masterNavigationController"];
        detailViewController = [storyboard instantiateViewControllerWithIdentifier:@"detailViewController"];

        detailViewController.splitController = splitViewController;
        splitViewController.masterViewController = rootNavigationController.topViewController;
        splitViewController.detailViewController = detailViewController;
        splitViewController.delegate = detailViewController;

        [rootNavigationController.topViewController performSelector:@selector(selectFirstRow) withObject:nil afterDelay:0];
        [detailViewController performSelector:@selector(configureView) withObject:nil afterDelay:0];

        if (NO) { // whether to allow dragging the divider to move the split.
            splitViewController.splitWidth = 15.0; // make it wide enough to actually drag!
           splitViewController.allowsDraggingDivider = YES;
        }
    }
return YES;
}

我在正确的轨道上吗?

【问题讨论】:

  • 我已经或多或少地工作了。有几个错误需要解决,但它可以在 XCode 4.6.2、iOS 6.1 和 ARC 和 iPad Storyboard 上运行。

标签: ipad ios6 xcode4.5 uisplitviewcontroller


【解决方案1】:

毕竟我最终不需要这个,所以没有完成到 iOS 6 的移植。 但是,为了避免其他人经历我所做的努力以达到我所做的那样,我将发布一个指向我的网站的链接,您可以在其中下载我的努力并继续工作。

Here's my effort at porting, use at your own risk!

【讨论】:

    猜你喜欢
    • 2012-03-24
    • 2015-06-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多