实现的效果:首界面中添加了scrollView,一开始进入程序显示的是首界面,首界面当前页是scrollView的第一页,再向左滑,显示的是左侧滑栏,向右滑动是正常的scrollView滑动,当前显示的左侧滑栏,向右滑动显示首界面,再向右滑动的时候是正常的scrollView滑动
1.下载ViewDeck
下载地址:https://github.com/Inferis/ViewDeck
2.将下载的ViewDeck添加到项目中,这里只用到了IIViewDeckController
添加frameWork:QuartzCore.framework
3.使用IIViewDeckController
-(void)login:(id)sender
{
MyCourseViewController *myCourseViewController = [[MyCourseViewControlleralloc] initWithNibName:@"MyCourseViewController"bundle:nil];
UINavigationController *navCourseController = [[UINavigationControlleralloc] initWithRootViewController:myCourseViewController];
MainMenuViewController *mainMenuViewController = [[MainMenuViewControlleralloc] initWithNibName:@"MainMenuViewController"bundle:nil];
IIViewDeckController *deckController = [[IIViewDeckControlleralloc] initWithCenterViewController:navCourseControllerleftViewController:mainMenuViewController];
[self.navigationControllerpushViewController:deckController animated:YES];
}
4.MyCourseViewController里面添加了ScrollView,在MyCourseViewController里面控制是scrollView滑动还是显示侧滑栏
在viewDidLoad里面添加
self.viewDeckController.delegate =self;
#pragma mark UIScrollViewDelegate
- (void)scrollViewDidScroll:(UIScrollView *)scrollView
{
if (self.scrollView.contentOffset.x < 0)
{
[selfshowMainMenuView];
}
}
- (void)showMainMenuView
{
self.scrollView.scrollEnabled =NO;
[self.viewDeckControllertoggleLeftView];
}
- (void)viewDeckController:(IIViewDeckController*)viewDeckController willCloseViewSide:(IIViewDeckSide)viewDeckSide animated:(BOOL)animated
{
self.scrollView.scrollEnabled =YES;
}