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