如何使用 ios 中的 SWRevealViewcontroller 导航到 sw_front 视图?

How to navigate to sw_front view using SWRevealViewcontroller in ios?

我正在使用 SWRevealViewController 在我的 ios 中实现侧边栏 app.I 已按照 appcoda 教程实现 it.As 根据本教程我已经制作了两个 segue sw_front 用于 main viewcontroller(rootviewcontroller) 第二个是 sw_rear 用于 sidebar.I 我可以使用本教程成功实现它,但现在我从 sw_rear 视图导航到 sw_front segue.Please 时遇到问题,如果有人知道此类问题,请帮助我。

这是我的slidemenu.m

您只需创建 table 菜单项,每个项都有标识符

在每一项中右击,选择reveal view controller

这一切

    #import "SlideMenu.h"
    #import "SWRevealViewController.h"
    @interface SlideMenu ()

    @end

    @implementation SlideMenu{
        NSArray *menu_items;
        NSArray*thumbies;
        NSArray*indentifer;
    }


    - (id)initWithStyle:(UITableViewStyle)style
    {
        self = [super initWithStyle:style];
        if (self) {
            // Custom initialization
        }
        return self;
    }

    - (void)viewDidLoad
    {
        [super viewDidLoad];

        indentifer = @[@"report_view" ,@"ann_view" , @"message_view" , @"calendar_view" , @"schedule_view" , @"about_view" , @"student_view" ];

        menu_items = @[@"Reports" , @"Messages" , @"Announcement" , @"Calendar" ,@"Schedule" ,@"About us",@"back to Students"];

        thumbies = @[@"report.png" , @"message.jpg" ,@"ann.jpg", @"calendar.jpg" , @"schedule.png" , @"about.png" ];

    }



    - (void)didReceiveMemoryWarning
    {
        [super didReceiveMemoryWarning];
        // Dispose of any resources that can be recreated.
    }

    #pragma mark - Table view data source

    - (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView
    {

        // Return the number of sections.
        return 1;
    }

    - (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
    {

        // Return the number of rows in the section.
        return [menu_items count];
    }


    - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
    {
        NSString * cell_identifer = [indentifer objectAtIndex:indexPath.row];
        UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:cell_identifer forIndexPath:indexPath];

        if (cell== nil) {
            cell = [[UITableViewCell alloc]initWithStyle:UITableViewCellStyleDefault reuseIdentifier:cell_identifer];
        }

        //cell.textLabel.text = [menu_items objectAtIndex:indexPath.row];
        //cell.imageView.image = [UIImage imageNamed:[thumbies objectAtIndex:indexPath.row] ];

        return cell;
    }





    #pragma mark - Navigation

    // In a storyboard-based application, you will often want to do a little preparation before navigation
    - (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
    {
        if ([segue isKindOfClass:[SWRevealViewControllerSegue class]]) {
            SWRevealViewControllerSegue *swsegue = (SWRevealViewControllerSegue*)segue;

            swsegue.performBlock = ^(SWRevealViewControllerSegue *rvc_segue , UIViewController * svc , UIViewController *dvc){
                UINavigationController *navController = (UINavigationController *)self.revealViewController.frontViewController;
                [navController setViewControllers:@[dvc] animated:NO];
                [self.revealViewController setFrontViewPosition:FrontViewPositionLeft animated:YES];
            };

        }
    }


    @end

更新 XCODE 6.4

的答案

完整示例

创建 viewController 持有 SWRevealViewController class

此视图有后部(幻灯片菜单项)、前部(已实现的项目) 请检查屏幕截图

从您的幻灯片菜单 viewController class 到每个项目

这个 table 视图实现我的滑动菜单项,我使用推送方法

(SWRevealViewControllerSeguePushController)

这是导航控制器之前的连接检查器

希望这能回答你所有的问题