弹出您的自定义视图很容易,支持自定义遮罩样式、过渡效果和手势拖动。
示例
要运行示例项目,请克隆仓库,然后首先从 Example 目录运行 pod install
。
要求
- 需要 iOS 8.0 或更高版本
- 需要自动引用计数 (ARC)
安装
zhPopupController 可以通过 CocoaPods 获取。要安装它,只需简单地将以下行添加到您的 Podfile 中:
platform :ios, '8.0'
use_frameworks!
target 'You Project' do
pod 'zhPopupController', '~> 1.0'
end
预览
用法
- 直接使用 zh_popupController 弹出您自定义视图。
[self.popupController showInView:self.view.window completion:NULL];
- 自定义。
_popupController = [[zhPopupController alloc] initWithView:customView size:alert.bounds.size];
_popupController.presentationStyle = zhPopupSlideStyleTransform;
_popupController.presentationTransformScale = 1.25;
_popupController.dismissonTransformScale = 0.85;
// ...
[_popupController showInView:self.view.window completion:NULL];
- 支持自动关闭。
/// The view will disappear after `dismissAfterDelay` seconds,default is 0 will not disappear
@property (nonatomic, assign) NSTimeInterval dismissAfterDelay;
-
更新
监听键盘变化将改变 contentView 布局
新增
keyboardOffsetSpacing
属性。您可以通过它调整键盘出现时与键盘的相对间距。默认为 0,键盘出现时无效的手势。如果您想使动画一致
您需要在 "willPresentBlock" 中调用方法 "becomeFirstResponder()",不要在这个之前调用。
您需要在 "willDismissBlock" 中调用方法 "resignFirstResponder()"。
/// default is NO. if YES, Will adjust view position when keyboard changes @property (nonatomic, assign) BOOL keyboardChangeFollowed; /// default is NO. if the view becomes first responder,you need set YES to keep the animation consistent @property (nonatomic, assign) BOOL becomeFirstResponded;
_popupController.becomeFirstResponded = YES; _popupController.keyboardChangeFollowed = YES; _popupController.willPresentBlock = ^(zhPopupController * _Nonnull popupController) { [textField becomeFirstResponder]; }; _popupController.willDismissBlock = ^(zhPopupController * _Nonnull popupController) { [textField resignFirstResponder]; }; //... [_popupController show];
-
更新
-
支持出现/关闭滑动样式
-
当系统版本大于 iOS 8 时,将使用 UIVisualEffectView 来实现遮罩模糊效果。
-
- 更新 (2017 年 11 月 20 日 v1.0.2)
-
新增方法
- (void)fadeDismiss
来淡出您的内容视图。 -
在 1.0.2 中
zhPopupSlideStyleShrinkInOut
将被弃用,您应使用zhPopupSlideStyleShrinkInOut1
或zhPopupSlideStyleShrinkInOut2
。
-
作者
snail-z, [email protected]
许可证
zhPopupController 在 MIT 许可证 下提供。有关更多信息,请参阅 LICENSE 文件。