TheSidebarController 0.7

TheSidebarController 0.7

测试已测试
Lang语言 Obj-CObjective C
许可 MIT
发布最新发布2014年12月

Jon Danao维护。




  • Jon Danao

TheSidebarController是一个容器视图控制器,管理以下3个主要视图控制器:contentViewControllerleftSidebarControllerrightSidebarController。可以通过调用以下任一方法来显示侧边栏:

显示方法

  • 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"添加到所有需要使用它的视图控制器中。

示例用法

在您的AppDelegate中

- (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 5 或更高版本
  • iOS 7.0 或更高版本
  • ARC

演示

在 Xcode 中构建并运行 Examples/BasicExamples/Kitchen_sink 项目以查看nTheSidebarController功能。

已知问题

CATranform3D 与自动旋转兼容性不佳。当设备方向变化时,简单的 3D 旋转会违反视图位置。希望能得到一些帮助。

功能请求及贡献

欢迎拉取请求、补丁和其他反馈。

联系方式

Jon Danao

授权

TheSidebarController 在 MIT 许可证下可用。

版权(c) 2013 Jon Danao (danao.org | jondanao)

特此授予任何人无费用地获得本软件及其相关文档副本("软件")的权利,不受限制地处理该软件,包括但不限于使用、复制、修改、合并、出版、分发、再许可和/或出售软件副本的权利,并允许向软件提供者提供本软件的人这样做,前提是以下条件

上述版权声明和本许可声明应包含在软件的所有副本或主要部分中。

软件按“原样”提供,不提供任何明示或暗示的保证,包括但不限于对适销性、针对特定目的的适用性和非侵权的保证。在任何情况下,作者或版权所有者不应对任何索赔、损害或其他责任负责,无论是合同行为、侵权行为还是其他行为,不论这种损害是否源自本软件或与使用本软件有关,或使用或与本软件的其他交易有关。