1

swrevealviewcontroller を使用して、アプリにスライド メニューを追加します。

ここに画像の説明を入力

写真のようなメニューがあるとします。 My appDelegate からメニューの任意の項目に移動する必要があります (例: Map View Controller )

私の試み:

私のappDelegate.mで

 UIStoryboard *storyboard =[UIStoryboard storyboardWithName:@"Main" bundle:nil];

    InforView *school_view = [storyboard instantiateViewControllerWithIdentifier:@"info_view"];

   [self.window  makeKeyAndVisible];

   [self.window.rootViewController presentViewController:school_view animated:YES completion:NULL];

InforView Controller に移動すると、viewdidload でクラッシュします

- (void)viewDidLoad
{
    [super viewDidLoad];
    _nav_bar.target = self.revealViewController;
    _nav_bar.action = @selector(revealToggle:);

 // its crash here 
    [self.view addGestureRecognizer:self.revealViewController.panGestureRecognizer];
}

私の絵コンテ

ナビゲーション コントローラ --> ホーム ビュー --> ビュー コントローラを表示

ビュー コントローラには 2 つのビューがあることを明らかに --> スライド メニュー ナビゲーション コントローラ --> フロント ビュー

私のスライドメニューには、写真に表示されているアイテムがいくつかあります

appDelegate からこのアイテムの 1 つに移動する必要があります

ここに画像の説明を入力

4

2 に答える 2

3

最後に私は答えを見つける

UIStoryboard * storyboard = [UIStoryboard storyboardWithName:@"Main" bundle:nil];

    // this any item in list you want navigate to 
Home_tableView *home = (Home_tableView *) [storyboard instantiateViewControllerWithIdentifier:@"home_view"];

SlideMenu *slidemenu = (SlideMenu *)[storyboard instantiateViewControllerWithIdentifier:@"Menu_view"];

UINavigationController *nav = [[UINavigationController alloc]initWithRootViewController:home];

UINavigationController *smVC = [[UINavigationController alloc]initWithRootViewController:slidemenu];

// define rear and frontviewcontroller  
SWRevealViewController *revealController = [[SWRevealViewController alloc]initWithRearViewController:smVC frontViewController:nav];

// make it as root 
self.window.rootViewController = revealController;
于 2015-02-17T08:02:52.793 に答える
0

SidebarDemo プロジェクトでは、次のコードを使用して、初期読み込み時に MapViewController を表示できます。

SWRevealViewController *revealViewController = (SWRevealViewController*)self.window.rootViewController;
UIStoryboard *storyboard =[UIStoryboard storyboardWithName:@"MainStoryboard" bundle:nil];
MapViewController *mapVC = [storyboard instantiateViewControllerWithIdentifier:@"MapID"];

[self.window  makeKeyAndVisible];

UINavigationController* navController = (UINavigationController*)revealViewController.frontViewController;
[navController setViewControllers: @[mapVC] animated: NO ];
[revealViewController setFrontViewPosition: FrontViewPositionLeft animated: YES];

の後makeKeyAndVisibleに、revealViewController の frontViewController と realViewController がロードされます。そして、navigationController である frontViewController の rootViewController を設定できます。

于 2015-02-11T07:09:35.503 に答える