How to programmatically set view to the front/back?

Ross Sullivan picture Ross Sullivan · Aug 13, 2016 · Viewed 9.4k times · Source

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

Answer

Harsh picture Harsh · Aug 13, 2016

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