2015-02-11 40 views
1

我有这个应用程序,它在内部使用UISplitViewControler来显示主界面。我遇到的问题是,在IOS7上我没有看到左侧的按钮来打开主控面板。UISplitViewControlerDelegate XCode 6 + IOS7

该理论说,我必须设置委托,并出现按钮。在实践中 - 我的代表不在IOS7中调用。它在IOS8上。

首先尝试:

  1. 我按照正常的双倍导航控制器方案(如下所述:http://whoisryannystrom.com/2014/11/17/UISplitViewController-iOS-7/
  2. 代码是迅速:)
  3. ,因为我需要我的应用程序上IOS7工作在我没有在代码中创建分割视图控制器,但使用故事板中的分割视图控制器:

(在应用程序中的某处删除门):

UIStoryboard *board = [UIStoryboard storyboardWithName:@"Storyboard" bundle:nil]; 
UIViewController *newController = [board instantiateViewControllerWithIdentifier:@"LoginViewController2"]; 
self.window.rootViewController = newController; 
  • 委托是在主创建的,并分配给主站。这适用于IOS8。在主

    override func akaweFromNib() { 
        super.awakeFromNib() 
        if let splitViewController = self.splitViewController { 
         let navigationController = splitViewController.viewControllers[splitViewController.viewControllers.count-1] as UINavigationController 
         if (splitViewController.respondsToSelector(Selector("displayModeButtonItem"))) { 
          navigationController.topViewController.navigationItem.leftBarButtonItem = splitViewController.displayModeButtonItem() 
         } 
         splitViewController.delegate = self  
        } 
    } 
    

  • 代码的工作,但我打开抽屉,并选择以看到按钮上的主视图东西(创建一个新的SEGUE)。


    第二次尝试

    由于这没有工作 - 我创建了一个新的UISplitViewController和故事板拆分视图控制器设置为这个新类。将onWakeFromNib移动到这个新类(并像以前一样设置委托)。新的代码适用于IOS8,但在IOS7下(至少在IPad Emulator上),新类不用于分割视图控制器 - 我没有在新代码中找到断点。

    我在做什么错?


    编辑:

    在这里复制的代码,我忘了提,我做的:

    navigationItem.leftItemsSupplementBackButton = true 
    navigationItem.leftBarButtonItem = splitViewController?.displayModeButtonItem() 
    

    但是 - 这是只有在iOS8上可用。我可以在IOS7中做什么?

    2015-02-12 10:37:55.987 OlympiaTracking[92551:607] -[UISplitViewController displayModeButtonItem]: unrecognized selector sent to instance 0x7b67f1c0 
    

    编辑2: 我也跟着ios7 no displayModeButtonItem or targetDisplayModeForActionInSplitViewController其中,但第一个SEGUE后才会起作用。首次显示控制器时,该按钮不可见。

    回答

    0

    打开此link并移动到iPad部分。它在说什么

    请注意,当iPad应用程序第一次打开时,没有任何迹象表明这是一个分割视图控制器!要触发主视图控制器,用户必须奇迹般地知道从左向右滑动。

    即使在导航控制非常到位,用户界面是不是 乍一看更好(虽然看到一个标题,绝对是一个 改善):

    +0

    是,使用的文件,同时学习。但是该API在IOS7上不可用。 – elcuco 2015-02-12 08:40:47