如何使用 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)
这是导航控制器之前的连接检查器
希望这能回答你所有的问题
我正在使用 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)
这是导航控制器之前的连接检查器
希望这能回答你所有的问题