【问题标题】:Swift - Presenting multiple alerts at the same timeSwift - 同时呈现多个警报
【发布时间】:2018-05-09 21:33:57
【问题描述】:

我正在制作一个应用程序并想创建一个自定义警报。我找到了以下方法:

  1. 在故事板中创建一个视图控制器并设置其标识符。
  2. 将其背景设置为清除。
  3. 在其中创建一个视图并设置所有按钮和标签。
  4. 像这样从另一个控制器调用它:

    let alertViewController = self.storyboard.instantiateViewControllerWithIdentifier("alertViewController") as! AlertViewController
    
    self.presentViewController(alertViewController, animated: true, completion: nil)
    

但我想做的是,像这样同时显示多个警报:

我对此进行了搜索,但只找到了在响应第一个警报时显示第二个警报的方式,但不是同时显示。 我怎样才能实现所附图像中显示的内容?

【问题讨论】:

    标签: ios swift uialertviewcontroller


    【解决方案1】:

    看起来这是一个带有 UIVisualEffectView 作为背景的模态 ViewController,因此它模糊了背景。然后,您需要创建一组警报消息,为每条消息添加一个带有该消息的警报视图到视图控制器。每个消息视图都应该有约束宽度常数、高度常数、centerX 到 superview 和 centerY 到 superview。然后,您可以设置每个视图的变换以根据其在消息数组中的索引将其缩小并向上移动。像 yOffset = (messages.count - index) * 间距和比例 = exp(0.95, (messages.count - index))。前面的消息具有用于其变换的标识矩阵。当您关闭消息时,会为变换更改设置动画,因此它们都会向上和向下滑动。

    【讨论】:

      【解决方案2】:

      是否有同时显示的警报数量的最大数量?如果有,有多少?

      我建议不要使用UIViewController,而是更简单:使用UIView。你可以将它们全部显示在你当前的 ViewController 上。

      如何创建自定义UIViewlink

      希望对你有帮助。

      【讨论】:

      • 好的。如果我按照上面的教程进行操作,那么如何一次显示多个警报视图,如上图所示?
      • 我想你可以弄清楚。您的自定义 UI 永远不会有相同的解决方案。如果没有更多上下文,我也无法回答。我还问了你一个问题,但你决定不回答(这完全不礼貌,也不是 stackoverflow 风格)。但很快:您可以创建 2 种类型的 2 种大小的警报:1 小 1 大。显示小的,然后显示将添加在顶部的大的,并将小的隐藏在后面。但我确信我的答案在有限的背景下是不正确的。对不起。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-01-27
      • 1970-01-01
      • 2016-06-21
      • 2021-03-18
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多