Skip to content

updateOverlayText not working with blockingWaitOverlay #34

@childr3n

Description

@childr3n

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
                    }
                }
                
            }
            
        }
    }
}

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions