DTAlertViewContainer 0.1.8

DTAlertViewContainer 0.1.8

测试已测试
语言语言 Objective-CObjective C
许可证 MIT
发布日期最后发布2017年6月

Dmitriy Titov维护。



  • Dmitriy Titov

这是一个适用于您想要呈现为警告视图的任何视图的灵活、动画容器。每次您需要自定义警告视图时,都需要创建自定义视图控制器并以模态方式呈现它。配置所有布局、动画、性能需要花费时间。让DTAlertViewContainer为您完成。只需创建您的视图,并调用DTAlertViewContainer来呈现它。


功能

DTAlertViewContainer执行与呈现警告相关的最普通的工作

  • 呈现任何UIView
  • 呈现大警告。DTAlertViewContainer将AlertView添加到UIScrollView上,所以您的AlertView有多高没关系
  • 在AlertView中输入文本。有时,如果用户点击文本字段,键盘会覆盖它。这种情况会导致不适。DTAlertViewContainer观察键盘出现,因此无需担心您的文本字段是否可见
  • 关注空白区域。即使您实现了键盘观察,也需要关注文本字段。DTAlertViewContainer将滚动到您指定的关注的框架
  • 将AlertView绑定到顶部、底部或中心。这将使您能够将AlertView呈现为通知、操作表或本地警告

安装

使用CocoaPods

pod 'DTAlertViewContainer'

使用

注意:您的AlertView必须符合DTAlertView协议!

外观

Objective-C

DTAlertViewContainerController *container = [[DTAlertViewContainerController alloc] init];
MyAlertView *alertView = [[MyAlertView alloc] init];
// Some configurations
[container presentOverVC:currentViewController alertView:alertView appearenceAnimation:DTAlertViewContainerAppearenceTypeFromTop completion:nil];

Swift

let container = DTAlertViewContainerController()
let alertView = MyAlertView()
// Some configurations
container.presentOverVC(mainNavigationController.topViewController, alert: alertView, appearenceAnimation: .fromTop, completion: nil)

您还可以配置以下内容:

  • animationOptions。这将是这样出现alertView:从顶部、底部...,从中心0 alpha
  • appearenceDuration
  • dismissAction。在容器消失时调用的回调函数

如果您的AlertView有多个文本输入源

如果,例如,有两个UITextField要在Return按钮按下时从第一个响应者切换到第二个,您需要执行其代码作为DTAlertViewContainerController方法performTextInputSwitch:的参数

[container performTextInputSwitch:^{
    [destinationTextField becomeFirstResponder];
}];

当输入源切换时,键盘隐藏并立即再次出现。这迫使容器布局两次,具有不同的键盘框架。使用该方法,您可以避免文本字段在切换时“跳跃”。请

代表

通过 DTAlertViewContainerProtocol 与容器交互

  • 取消弹窗
  • 强制执行容器的布局
  • 强制容器聚焦
  • 执行文本输入源切换

取消

只需调用容器的 dismiss 方法即可取消它。它也将调用 dismissAction


需求

iOS 10 更早的版本支持即将上线