ARSlidingPanel 0.1.1

ARSlidingPanel 0.1.1

测试已测试
语言语言 Obj-CObjective C
许可证 MIT
发布最后发布2016年3月

Andrii Rogulin 维护。



  • Andrii Rogulin

ARSlidingPanel 是一个 iOS 框架,允许您在应用程序中使用类似于 'Google Play Music-like' 的向上滑动面板。

要求

iOS 6.0 及以上

ARSlidingPanel 与 ARC 项目兼容。它依赖于以下 Apple 框架,这些框架应已包含在大多数 Xcode 模板中

  • Foundation.framework
  • UIKit.framework
  • CoreGraphics.framework

为了构建 ARSlidingPanel,您需要最新的开发者工具。旧的 Xcode 版本可能可以工作,但是不会明确维护兼容性。

将 ARSlidingPanel 添加到您的项目中

源文件

您还可以直接将以下源文件添加到您的项目中:

  • ARSPContainerController.h
  • ARSPContainerController.m
  • ARSPDragDelegate.h
  • ARSPMainViewControllerSegue.h
  • ARSPMainViewControllerSegue.m
  • ARSPPanelViewControllerSegue.h
  • ARSPPanelViewControllerSegue.m
  • ARSPVisibilityState.h
  • ARSPVisibilityStateDelegate.h

将源文件添加到您的项目中

  1. 下载最新代码版本或将其作为 git 子模块添加到您的 git 追踪项目中。
  2. 在 Xcode 中打开您的项目,然后拖放这些源文件到您的项目(如有必要,使用“Product Navigator”视图)。确保在询问时选择复制项。
  3. 通过使用 #import "ARSPContainerController.h",在需要的地方包含 ARSlidingPanel。

集成

有几种方式可以将 ARSlidingPanel 集成到您的项目中。

故事板

1) 将视图控制器从 Xcode 对象库拖放到故事板中

2) 将其类设置为 ARSPContainerController

screen shot 2015-04-30 at 7 34 09 pm

3) 将从 ARSPContainerController 到将成为您的 Main 视图控制器的视图控制器添加自定义航移。将航移的标识符设置为 ARSPMainViewControllerSegue,将航移的类设置为 ARSPMainViewControllerSegue

screen shot 2015-05-01 at 6 09 17 pm

4) 将从 ARSPContainerController 到将成为您的面板视图控制器的视图控制器添加自定义航移。将航移的标识符设置为 ARSPPanelViewControllerSegue,将航移的类设置为 ARSPPanelViewControllerSegue

screen shot 2015-05-01 at 6 09 55 pm

5) 设置可见区域高度、启用拖动、自定义行为、动画速度、阴影等,并尝试!

代码集成

1) 创建 ARSPContainerController 类的实例,并使用 [ARSPContainerController getController] 函数初始化它

2) 设置主视图控制器

3) 设置面板控制器

4) 设置可见区域高度、启用拖动、自定义行为、动画速度、阴影等,并尽情探索!

示例

ARSPContainerController *containerController = [ARSPContainerController getController];
UIViewController *mainVC = [[UIViewController alloc]init];
[mainVC.view setBackgroundColor:[UIColor blueColor]];
UIViewController *panelVC = [[UIViewController alloc]init];
[panelVC.view setBackgroundColor:[UIColor yellowColor]];
containerController.mainViewController = mainVC;
containerController.panelViewController = panelVC;
containerController.visibleZoneHeight = 80;
containerController.draggingEnabled = YES;

...

使用方法

ARSPContainerController - 是 ARSlidingPanel 框架的基类。它是两个控制器的容器

mainViewController - 可以是任何自定义视图控制器,导航控制器等。

panelViewController - 面板内的视图控制器。可以是任何自定义视图控制器,导航控制器等。

集成状态后,您可以自定义 ARSPContainerController 的行为。

示例

// setting height of panel in minimized(docked) mode
containerController.visibleZoneHeight = 80;
// setting height of zone where you can swipe down to close(minimize) your panel view controller
containerController.swipableZoneHeight = 130;
// enable dragging of panel view controller
containerController.draggingEnabled = YES;

etc..

请参阅 'ARSPContainerController.h' 文件以查看所有可用设置

有显示/隐藏/关闭面板视图控制器的函数

  • (void)maximizePanelControllerAnimated:(BOOL)animated completion:(void (^)(void))completion;
  • (void)minimizePanelControllerAnimated:(BOOL)animated completion:(void (^)(void))completion;
  • (void)closePanelControllerAnimated:(BOOL)animated completion:(void (^)(void))completion;

您还可以添加自定义动画,在显示/隐藏/关闭时执行

  • (void)maximizePanelControllerAnimated:(BOOL)animated animations:(void (^)(void))animations completion:(void (^)(void))completion;
  • (void)minimizePanelControllerAnimated:(BOOL)animated animations:(void (^)(void))animations completion:(void (^)(void))completion;
  • (void)closePanelControllerAnimated:(BOOL)animated animations:(void (^)(void))animations completion:(void (^)(void))completion;

您可以将自己的对象设置为 ARSPContainerController 的一个 委托 对象

  • visibilityStateDelegate - 订阅面板视图控制器的 可见状态变化

    -(void)panelControllerChangedVisibilityState:(ARSPVisibilityState)state;

请参阅 'ARSPVisibilityState.h' 以查看所有可见状态列表

  • dragDelegate - 订阅面板视图控制器的 拖动

    -(void)panelControllerWasDragged:(CGFloat)panelControllerVisibility;

享受乐趣!