0

サイドメニューを迅速に実装するアプリケーションがあります。( http://www.appcoda.com/sidebar-menu-swift/ )

3D タッチ ショートカット、クイック アクションを実装しました。ほぼ動作します。

問題は、次のコードを使用して、revealViewController() をインスタンス化せずにビューに直接到達することです。

let storyboard = UIStoryboard(name: "Main", bundle: nil)
let navVC = storyboard.instantiateViewControllerWithIdentifier("newsViewController") as! UINavigationController
self.window?.rootViewController?.presentViewController(navVC, animated: true, completion: nil)

私はどのように/どこでインスタンス化されているのか分かりません

私は持っている:

self.revealViewController() == nil 

今起こっていることは、メニューが開きたくないということです。

ご協力ありがとうございました :-)

4

4 に答える 4

2

このリンクとして答えを見つけることができます: How to push viewcontroller from appdelegate in storyboard

私は以下のようにコードを書きました

    UIStoryboard *st = [UIStoryboard storyboardWithName:@"Main" bundle:nil];
    SWRevealViewController *mainRevealController = [[SWRevealViewController alloc] init];
    CaseCollectionViewController *descController = (CaseCollectionViewController*)[st instantiateViewControllerWithIdentifier: @"CaseCollection"];
    descController.selectedLevel = @"pll";
    descController.title = @"PLL";

    //UINavigationController *frontNavigationController = [[UINavigationController alloc] initWithRootViewController:descController];
    UINavigationController *frontNavigationController = (UINavigationController*)[st instantiateViewControllerWithIdentifier: @"NavigationViewCtrl"];
    [frontNavigationController setViewControllers:@[descController]];
    SidebarTableViewController *rearViewController = (SidebarTableViewController*)[st instantiateViewControllerWithIdentifier: @"SideBarView"];
    mainRevealController.rearViewController = rearViewController;
    mainRevealController.frontViewController = frontNavigationController;
    self.window.rootViewController = mainRevealController;
于 2015-11-05T03:29:11.357 に答える