在 Apple 状态栏上呈现 UIView

Present UIView over Apple Statusbar

我想用如下代码所示的视图覆盖状态栏。我已经读了很多,这需要在一个单独的(?)window 中完成,它与状态栏位于同一 windows 层上,但我只是没有让它工作。

我试过了(第一个代码) Display UIView Above Apple Status Bar in iOS 8

但是我的 self.view.window?是零

尝试创建一个新的 UIWindow XCODE 想要一个我必须伪造的 rootViewController...恕我直言,这不是正确的方法

这是我的代码:

class GroupSelectionTVC: UITableViewController {

override func viewDidLoad()
{

    // Toast

    let frame = CGRectMake(0, -20, self.view.frame.width, 20)
    let message = UILabel(frame: frame)
    message.backgroundColor = UIColor.blackColor()
    message.text = "Testing"
    message.textAlignment = NSTextAlignment.Center
    message.textColor = UIColor.darkGrayColor()

    self.view.addSubview(message)

    UIView.animateWithDuration(1.0, animations: {

        message.frame = CGRectMake(0, 0, self.view.frame.width, 20)}, completion:
        {
        (value: Bool) in UIView.animateWithDuration(1.0, delay: 2.0, options: nil, animations: {message.frame = CGRectMake(0, -20, self.view.frame.width, 20)}, completion:
            {
                (value: Bool) in  message.removeFromSuperview()
            }
            )
    }
    )

我建议您使用 CRToast。这是一个完全适合您的问题的框架。所以你不必担心 UIViews 等。它是用 Objective-C 编写的,但你可以在 Swift 项目中轻松使用它。