【发布时间】:2018-01-30 18:47:54
【问题描述】:
尝试通过 AppDelegate 将子视图添加到 UI 的前面,但它不起作用。我有一个可达性通知器,当没有互联网连接时,它应该从 xib 添加 UIView。
应用代理代码:
func reachabilityChanged(note: Notification) {
let reachability = note.object as! Reachability
if !reachability.isReachable {
print("APP: Network reachable")
if networkErrorView != nil {
networkErrorView.removeFromSuperview()
}
} else {
print("ERROR: Network not reachable")
networkErrorView = NetworkErrorView(frame: CGRect(x: 30, y: self.window!.frame.height / 4, width: self.window!.frame.width - 60, height: self.window!.frame.height / 2))
UIApplication.shared.keyWindow?.addSubview(networkErrorView)
UIApplication.shared.keyWindow?.bringSubview(toFront: networkErrorView)
print("View is showing")
}
}
通知确实触发了,并且我确实将“视图正在显示”打印到控制台。我尝试通过dispatchQueue.main.async 调用它,但这只会导致应用程序崩溃的无限循环。
谢谢
【问题讨论】:
标签: ios swift reachability