< _UIPopoverBackgroundVisualEffectView>被要求设置其不透明度的动画

时间:2017-01-11 11:39:32

标签: ios swift uialertview uipopovercontroller uialertcontroller

我正在尝试显示(AlertController)操作表。但是我在控制台和#34; < _UIPopoverBackgroundVisualEffectView 0x7fd65ef76ec0>被要求动画其不透明度。这将导致效果出现断裂,直到不透明度返回到1."

这是我的代码: -

extension GroupDataView {

  func callDot (sender : UIButton)
  {
      let alert = UIAlertController(title: nil, message: nil,
                                  preferredStyle: .actionSheet)

      alert.addAction(UIAlertAction(title: "Edit Group", style: .default , handler:{ (action)in
        print("User click Edit Group")
      }))

      alert.addAction(UIAlertAction(title: "Create Folder", style: .default , handler:{ (action)in
        print("User click Create Folder button")
      }))

      alert.addAction(UIAlertAction(title: "Delete Group", style: .destructive , handler:{ (action)in
          print("User click Delete Group button")

      }))

        if let popoverController = alert.popoverPresentationController   {
          popoverController.sourceView = sender
          popoverController.sourceRect = sender.bounds

          self.present(alert, animated: true, completion: {
            print("completion block")
          })
       }

      else
      {
          self.present(alert, animated: true, completion: {
              print("completion block")
          })
      }
  }
}  

我不知道为什么在控制台中显示此警告。 ActionSheet正在准备但是如何删除该警告? 感谢

3 个答案:

答案 0 :(得分:5)

iOS Bug

请参阅Apple开发者论坛上@Hardy的回答: Warning message from UIPopover

  

...似乎是iOS中的一个错误。但它似乎并不重要。虽然 - 我相信 - 有时UIAlertController下面的区域没有正确绘制。我可以在很短的时间内看到黑色背景闪烁,虽然底层视图的背景不是黑色。

在Google here

上缓存

答案 1 :(得分:4)

我遇到了同样的问题,我通过在animated: false或/和self.present函数中设置self.dismiss来解决此问题。请参阅https://forums.developer.apple.com/thread/53677

中的最后一条评论

答案 2 :(得分:-1)

我意识到这是一个老问题,但我只是遇到了同样的问题,我发现了一个解决方法,将显示延迟了0.001秒,所以当你通常调用这个函数时我用这个代码来延迟

[self performSelector:@selector(viewBookmark:) withObject:bookmarkBarButton afterDelay:0.001];

请原谅OBJ-C,但swift中的类似延迟应该会导致同时不显示2个视图的结果相同。