Search code examples
iosswiftxcodeuikituiview-hierarchy

How to programmatically set view to the front/back?


I'm working on an application that uses UIViews as backgrounds to text. I've put the views behind the text in the storyboard but for some reason some still seem to be in front of the text. Is there a way to send these view to the back programmatically? Here is a screenshot of what im talking aboutPicture


Solution

  • You can use on of these two:

    - (void)bringSubviewToFront:(UIView *)view;
    - (void)sendSubviewToBack:(UIView *)view;
    

    Objective-C Usage

    view.sendSubviewToBack(subview) and view.bringSubviewToFront(subview)

    SWIFT 4.2 Usage

    view.sendSubview(toBack: subview)
    view.bringSubview(toFront: subview)
    
    • bringSubviewToFront: Moves the specified subview so that it appears on top of its siblings.
    • sendSubviewToBack: Moves the specified subview so that it appears behind its siblings.

    https://developer.apple.com/reference/uikit/uiview?language=objc