RNBlurModalView 0.1.0

RNBlurModalView 0.1.0

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

未声明 维护。



  • Ryan Nystrom

RNBlurModal 为传统的 Modal/Alert 视图添加了 深度。调用视图与设置并显示 UIAlertView 的操作极其相似。您还可以设置自己的自定义视图并将其显示为具有模糊背景的视图。目标是真正地将用户注意力直接吸引到您的警报上,使用自然效果。该项目在所有 iOS 设备的所有方向上,使用 Automatic Reference Counting (ARC) 都能正常工作。

安装

手动安装

非常简单。只需将 RNBlurModalView.h/.m 拖放到您的项目中。在您的项目中,找到构建阶段标签,并展开与二进制文件链接。将以下框架添加到您的项目中

  • QuartzCore.framework
  • Accelerate.framework

此外,在您的项目中,在构建阶段标签下,展开编译源文件并添加 RNBlurModalView.m。

用法

使用 RNBlurModalView 的最简单方法是显示默认视图。在您的视图控制器内部编写以下代码

RNBlurModalView *modal = [[RNBlurModalView alloc] initWithViewController:self title:@"Hello world!" message:@"Pur your message here."];
[modal show];

您还可以使用自己的自定义 UIView 创建模态视图

RNBlurModalView *modal = [[RNBlurModalView alloc] initWithViewController:self view:view];
[modal show];

注意

我只会警告用户,模态视图下方的动画将会“暂停”。最终来说,我是在控制器上方覆盖了一个 UIImage。我曾试图篡改一些“黑客”的 CADisplayLink 方法,但似乎不能获取控制器的当前 状态 的截图,只能是其配置。

配置

为模态视图设置一些不同的属性来更改其显示方式

@property (assign) CGFloat animationDuration;
@property (assign) CGFloat animationDelay;
@property (assign) UIViewAnimationOptions animationOptions;

为了简洁,您也可以在 show:hide: 方法中设置这些属性。

// show
- (void)show;
- (void)showWithDuration:(CGFloat)duration delay:(NSTimeInterval)delay options:(UIViewAnimationOptions)options completion:(void (^)(void))completion;
// hide
- (void)hide;
- (void)hideWithDuration:(CGFloat)duration delay:(NSTimeInterval)delay options:(UIViewAnimationOptions)options completion:(void (^)(void))completion;

KVO & 通知

像往常一样,如果其他对象需要通知自定义事件,我会尝试包含一些辅助工具。

NS 通知
extern NSString * const kRNBlurDidShowNotification;
extern NSString * const kRNBlurDidHidewNotification;
KVO
@property (assign, readonly) BOOL isVisible;

贡献

消失按钮的绘图来自 David Keegan 的优秀项目 KGModal

模糊算法来自这篇出色的博客文章

联系

许可证

版权所有(C)2012 Ryan Nystrom (http://whoisryannystrom.com)

本许可证授予任何人免费获取本软件及其相关文档文件(以下简称“软件”)副本的权利,包括但不限于使用、复制、修改、合并、发布、分发、许可和/或出售软件副本,并允许向软件提供者提供软件的人进行上述行为,前提是遵守以下条件

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

软件按现状提供,不提供任何形式的质量保证,无论明确保证还是暗示保证,包括但不限于适销性、适用于特定目的和非侵权性保证。在任何情况下,作者或版权持有者都不对任何索赔、损害或任何其他责任负责,无论是否基于合同行为、侵权行为或其他行为,无论是基于软件或软件的使用或其他行为而引起的。