当我看到我的视图呈现黑色BG颜色时,我遇到了一个问题。这是我的代码:
class Loader: UIViewController, NVActivityIndicatorViewable {
override func viewDidLoad() {
super.viewDidLoad()
self.modalPresentationStyle = .currentContext
self.view.backgroundColor = .clear
self.view.isOpaque = false
let width = UIScreen.main.bounds.width
let height = UIScreen.main.bounds.height
let frame = CGRect(x: width / 2, y: height / 2, width: 100, height: 100)
let activityIndicatorView = NVActivityIndicatorView(frame: frame, type: NVActivityIndicatorType.lineScale, color: GlobalVariables.stacksBlue, padding: 20)
self.view.addSubview(activityIndicatorView)
activityIndicatorView.startAnimating()
activityIndicatorView.translatesAutoresizingMaskIntoConstraints = false
activityIndicatorView.centerXAnchor.constraint(equalTo: view.centerXAnchor).isActive = true
activityIndicatorView.centerYAnchor.constraint(equalTo: view.centerYAnchor).isActive = true
}
扩展名为call function:
extension UIViewController {
func showLoader() {
let loader = Loader()
self.modalPresentationStyle = .currentContext
self.present(loader, animated: false, completion: nil)
}
func hideLoader() {
self.dismiss(animated: false, completion: nil)
}
}
答案 0 :(得分:0)
你在说:
self.view.backgroundColor = .clear
self.view.isOpaque = false
所以视图本身很清晰,你看到窗口背后的黑色。
答案 1 :(得分:0)
你能试试吗
let loader = Loader()
loader.providesPresentationContextTransitionStyle = true;
loader.definesPresentationContext = true;
loader.modalPresentationStyle = .overCurrentContext
self.present(loader, animated: false, completion: nil)