SwiftOverlays icon indicating copy to clipboard operation
SwiftOverlays copied to clipboard

updateOverlayText not working with blockingWaitOverlay

Open childr3n opened this issue 7 years ago • 1 comments

This code is not working : let soView = SwiftOverlays.showBlockingWaitOverlayWithText("Original text") SwiftOverlays.updateOverlayText(soView, text: "Updated text")

I think it's because a blockingWaitOverlay is containing two levels of containerViewTag before having the label. At this opposite of a traditional SwiftOverlay view.

To fix that I've temporary updated your updateOverlayText function this way, but I guess there's a more proper way to do it (or maybe i've missed another official trick to do it)

open class func updateOverlayText(_ parentView: UIView, text: String) {
    if let overlay = parentView.viewWithTag(containerViewTag) {
        for subview in overlay.subviews {
            if let label = subview as? UILabel {
                label.text = text as String
                break
            }
            
            if let subOverlay = subview.viewWithTag(containerViewTag) {
                
                for subSubView in subOverlay.subviews {
                    if let subLabel = subSubView as? UILabel {
                        subLabel.text = text as String
                        break
                    }
                }
                
            }
            
        }
    }
}

childr3n avatar Jun 15 '17 20:06 childr3n

@childr3n thanks for the feedback, will fix that

peterprokop avatar Jun 16 '17 06:06 peterprokop