测试已测试 | ✗ |
语言语言 | Obj-CObjective C |
许可证 | MIT |
发布最后发布 | 2015年4月 |
由Carvine Software维护。
SHPullAcrossViewController 是一个简单且模块化的视图控制器,可以添加到任何视图,以便用户可以通过将其拖动到顶部来展开另一个视图。它使用 Objective-C 编写并由 Carvine Software 维护。
将此存储库中的 SHPullAcrossViewController
文件夹复制到您的项目。
或者
如果您使用 CocoaPods,只需在 Podfile 中添加一下内容,并使用以下命令安装:
pod 'SHPullAcrossViewController'
然后使用以下方式在任何需要的 .h 文件中包含 SHPullAcrossViewController
$ pod install
然后包含 SHPullAcrossViewController
在您需要的任何 .h 文件中
#include <SHPullAcrossViewController/SHPullAcrossViewController.h>
SHPullAcrossViewController
需要 iOS 7.0 及以上。
除非有其他指示,否则使用此库的人应仅与 SHPullAcrossViewController
交互。
初始化一个 SHPullAcrossViewController
-(instancetype)initWithViewController:(UIViewController*)viewController;
使用 SHPullAcrossVCPositionClosed
或 SHPullAcrossVCPositionOpen
动画 SHPullAcrossView
的位置以打开或关闭
-(void)setPosition:(SHPullAcrossVCPosition)position animated:(BOOL)animated;
完全隐藏 SHPullAcrossView
(包括 tabView
)
-(void)setHidden:(BOOL)hidden animated:(BOOL)animated;
通过使用属性将您自己的自定义视图作为子视图添加到 tabView
中
@property (nonatomic, readonly) UIView* tabView;
请不要更改 tabView
的框架。 应该通过使用 tabViewYPostition
和 tabViewSize
来完成对标签视图的位置和大小进行操作。
如果您的自定义视图被添加到 tabView
,并且您希望保留点击打开功能但不添加自己的按钮,请确保将您视图的 userInteractionEnabled
属性设置为 NO
。
如果您的自定义子视图没有完全覆盖 tabView
,建议更改 tabView
的 backgroundColor
属性。
在某些特定情况下,可能需要更改这些属性。《SHPullAcrossViewController》可以在不了解本节属性的情况下成功使用。
SHPullAcrossView
偏移量@property (nonatomic) CGFloat closedXOffset;
@property (nonatomic) CGFloat openXOffset;
@property (nonatomic) CGFloat yOffset;
closedXOffset
调整关闭的 SHPullAcrossView
的默认位置。正值开始显示内容视图,而负值将导致 tabView
凸出较少。
openXOffset
调整打开的 SHPullAcrossView
的默认位置。默认零值将完全显示传入的内容视图控制器。正值会进一步打开,而负值将隐藏部分内容视图。
yOffset
调整 SHPullAcrossView
的 y 位置。正值将视图拉下屏幕,而负值将视图推离屏幕顶部。
@property (nonatomic) CGFloat tabViewCornerRadius;
tabViewCornerRadius
允许将 tabView
的左下两个角变圆。 tabViewCornerRadius
不应大于 tabView
高度的一半或宽度,取两者中较小者。
@property (nonatomic, strong) UIColor* contentViewBackgroundColor;
contentViewBackgroundColor
是传入内容视图控制器的视图坐上的视图中使用的颜色。只有在传入的视图具有透明度时,才需要更改此值。
父视图掩码是在 SHPullAcrossView
的父视图上方的视图。当将 SHPullAcrossView
移向打开位置时,它会变暗,有效地淡出了其后面的内容。父视图掩码还会阻止对父视图的触摸,并在触摸时收缩 SHPullAcrossView
。
@property (nonatomic) BOOL showSuperviewMaskWhenOpen;
@property (nonatomic, copy) UIColor* superviewMaskColor;
@property (nonatomic) CGFloat superviewMaskMaxAlpha;
showSuperviewMaskWhenOpen
将显示或隐藏父视图掩码。
superviewMaskColor
是父视图掩码将淡成的颜色。
superviewMaskMaxAlpha
指定 SHPull AcrossView
全部打开时父视图掩码的透明度。0 为完全透明,1 为完全不透明。
以下所有四个属性都用于修改沿着 tabView
和内容视图边框运行的阴影。它们为 SHPullAcrossView
提供深度和坐在其父视图上方的错觉。
@property (nonatomic) CGFloat shadowOpacity;
@property (nonatomic) CGColorRef shadowColor;
@property (nonatomic) CGFloat shadowRadius;
@property (nonatomic) CGSize shadowOffset;
这些属性与 UIView
层属性的名称相同,并且功能相同。将 shadowOpacity
设置为零将消除任何阴影。
以下图像显示了每个视图的名称,以防这在文档中不是明确的。
橙色视图 - tabView
蓝色视图 - 内容视图,此视图包含由用户传入的视图控制器。
黑色轮廓 - SHPullAcrossView
,此视图包含标签视图和内容视图作为子视图。
特别感谢 John Llurch Zorrilla 及其维护的 SWRevealViewController 项目。 SHPullAcrossViewController
旨在模仿 SWRevealViewController
,但实际上是拉一个视图到屏幕上,而不是拉一个视图离开屏幕。此项目从 SWRevealViewController
中汲取灵感并对此进行了扩展。
版权(c)2014-2015 Carvine Software contactus AT carvinesoftware DOT com
在此特此授权,免费向任何获得本软件及其相关文档文件(统称为“软件”)副本的人员,在不受限制的情况下处理软件,包括但不限于使用、复制、修改、合并、发布、分发、再许可和/或销售软件副本的权利,以及允许软件供应方进行此类操作,但须遵守以下条件
上述版权声明和本许可声明应包含在软件的任何副本或主要部分中。
软件按“原样”提供,不承担任何形式的保证,无论是明示的还是隐含的,包括但不限于适用性、特定用途的适用性和非侵权性保证。在任何情况下,作者或版权所有者不得对由此产生的任何索赔、损害或其他责任负责,无论这些责任是基于合同、侵权或其他原因,以及软件本身或使用或以任何其他方式处理软件的结果。