我正在尝试将 UIActivityIndi​​cator 居中并在我的应用程序中重复使用它。我面临的问题是我的某些 View 必须位于导航栏下方,而有些则不是。这恰好使我的事件指示器在 View 不在导航栏下方的 View 中呈现低于中心的显示。例如:

swift - 使用导航栏注意事项获取屏幕中心-LMLPHP

StackOverflow 上的所有答案似乎都属于图 #2。

我只是对 UIView 进行了扩展,通过将其添加为 subview 覆盖来显示和隐藏事件指示器。检查 StackOverflow 上的多个帖子,我没有发现任何会重复这个问题的内容。

我的问题是,在生产应用程序中,如何仅使用一个功能成功地将这两种情况的此 View 居中,但仍支持 IOS 版本回到 9.3

最佳答案

SWIFT 3:

扩展将 subview 居中放置在您的 App 委托(delegate)的 keyWindow 中……无论它在您的应用程序中的哪个位置,都使其居中:

extension UIView {

    public func addSubviewScreenCenter() {
        if let keyWindow = UIApplication.shared.keyWindow {
            keyWindow.addSubview(self)
            self.center()
        }
    }

    public func removeFromWindowView() {
        if self.superview != nil {
            self.removeFromSuperview()
        }
    }
}

关于swift - 使用导航栏注意事项获取屏幕中心,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/50180099/

10-14 19:57
查看更多