转到另一个viewcontroller时加载叠加层不显示

时间:2016-09-18 20:29:20

标签: ios swift uitableview overlay

我的叠加公共课是:

public class LoadingOverlay{

var overlayView = UIView()
var activityIndicator = UIActivityIndicatorView()

class var shared: LoadingOverlay {
    struct Static {
        static let instance: LoadingOverlay = LoadingOverlay()
    }
    return Static.instance
}

public func showOverlay(view: UIView) {

    overlayView.frame = CGRectMake(0, 0, 80, 80)
    overlayView.center = view.center
    overlayView.backgroundColor = UIColor(white: 0.5, alpha: 0.7)
    overlayView.clipsToBounds = true
    overlayView.layer.cornerRadius = 10

    activityIndicator.frame = CGRectMake(0, 0, 40, 40)
    activityIndicator.activityIndicatorViewStyle = .WhiteLarge
    activityIndicator.center = CGPointMake(overlayView.bounds.width / 2, overlayView.bounds.height / 2)

    overlayView.addSubview(activityIndicator)
    view.addSubview(overlayView)

    activityIndicator.startAnimating()
}

public func hideOverlayView() {
    activityIndicator.stopAnimating()
    overlayView.removeFromSuperview() 
} 
}//end of class

这样可以正常工作,但是当我尝试通过点击UITableViewCell来显示此内容时,将用户推送到下一个viewcontroller,然后ViewController从数据库中获取数据,则不会显示叠加层。

当我单击UITableView中的一个单元格然后在viewdiddisare出现时或直到其他视图控制器出现时停止它时,我想显示这个。因为它有时会延迟2-3秒,直到它加载。同样的事情我想在标签栏转换到标签栏中的其他控制器时使用(其他控制器也从数据库中获取数据)。

0 个答案:

没有答案