TheSidebarController是一个容器视图控制器,管理以下3个主要视图控制器:contentViewController
、leftSidebarController
和rightSidebarController
。可以通过调用以下任一方法来显示侧边栏:
presentLeftSidebarViewController
- 使用默认的Facebook类型动画显示左侧边栏presentLeftSidebarViewControllerWithStyle:
- 通过指定有效的显示样式来显示左侧边栏presentRightSidebarViewController
- 使用默认的Facebook类型动画显示右侧边栏presentRightSidebarViewControllerWithStyle:
- 通过指定有效的显示样式来显示右侧边栏SidebarTransitionStyleFacebook
- 内容滑动显示侧边栏SidebarTransitionStyleAirbnb
- 内容在3D空间中旋转揭示侧边栏SidebarTransitionStyleLuvocracy
- 内容缩放以显示侧边栏SidebarTransitionStyleFeedly
- 侧边栏在内容上方滑动SidebarTransitionStyleFlipboard
- 侧边栏在内容缩放时滑动SidebarTransitionStyleWunderlist
- 内容和侧边栏滑动产生视差效果sidebarController:willShowViewController
sidebarController:didShowViewController
sidebarController:willHideViewController
sidebarController:didHideViewController
本项目灵感来源于RESideMenu。我几乎照搬了所有内容。谢谢Roman! :)
将TheSidebarController
文件夹拖拽到您的项目中。将#import "TheSidebarController.h"
添加到所有需要使用它的视图控制器中。
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
ContentViewController *contentViewController = [[ContentViewController alloc] init];
UINavigationController *contentNavigationController = [[UINavigationController alloc] initWithRootViewController:contentViewController];
LeftSidebarViewController *leftSidebarViewController = [[LeftSidebarViewController alloc] init];
RightSidebarViewController *rightSidebarViewController = [[RightSidebarViewController alloc] init];
TheSidebarController *sidebarController = [[TheSidebarController alloc] initWithContentViewController:contentNavigationController
leftSidebarViewController:leftSidebarViewController
rightSidebarViewController:rightSidebarViewController];
self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
self.window.backgroundColor = [UIColor whiteColor];
self.window.rootViewController = sidebarController;
[self.window makeKeyAndVisible];
return YES;
}
[self.sidebarController presentLeftSidebarViewControllerWithStyle:SidebarTransitionStyleFacebook];
[self.sidebarController dismissSidebarViewController];
self.sidebarController.contentViewController = [[UIViewController alloc] init];
在 Xcode 中构建并运行 Examples/Basic
和 Examples/Kitchen_sink
项目以查看nTheSidebarController功能。
CATranform3D 与自动旋转兼容性不佳。当设备方向变化时,简单的 3D 旋转会违反视图位置。希望能得到一些帮助。
欢迎拉取请求、补丁和其他反馈。
TheSidebarController 在 MIT 许可证下可用。
版权(c) 2013 Jon Danao (danao.org | jondanao)
特此授予任何人无费用地获得本软件及其相关文档副本("软件")的权利,不受限制地处理该软件,包括但不限于使用、复制、修改、合并、出版、分发、再许可和/或出售软件副本的权利,并允许向软件提供者提供本软件的人这样做,前提是以下条件
上述版权声明和本许可声明应包含在软件的所有副本或主要部分中。
软件按“原样”提供,不提供任何明示或暗示的保证,包括但不限于对适销性、针对特定目的的适用性和非侵权的保证。在任何情况下,作者或版权所有者不应对任何索赔、损害或其他责任负责,无论是合同行为、侵权行为还是其他行为,不论这种损害是否源自本软件或与使用本软件有关,或使用或与本软件的其他交易有关。