---
title: "insertSubview(_:aboveSubview:)"
framework: uikit
role: symbol
role_heading: Instance Method
path: "uikit/uiview/insertsubview(_:abovesubview:)"
---

# insertSubview(_:aboveSubview:)

Inserts a view above another view in the view hierarchy.

## Declaration

```swift
func insertSubview(_ view: UIView, aboveSubview siblingSubview: UIView)
```

## Parameters

- `view`: The view to insert. It’s removed from its superview if it’s not a sibling of siblingSubview.
- `siblingSubview`: The sibling view that will be behind the inserted view.

## Discussion

Discussion This method establishes a strong reference to view and sets its next responder to the receiver, which is its new superview. Views can have only one superview. If view already has a superview and that view is not the receiver, this method removes the previous superview before making the receiver its new superview.

## See Also

### Managing the view hierarchy

- [superview](uikit/uiview/superview.md)
- [subviews](uikit/uiview/subviews.md)
- [window](uikit/uiview/window.md)
- [addSubview(_:)](uikit/uiview/addsubview(_:).md)
- [bringSubviewToFront(_:)](uikit/uiview/bringsubviewtofront(_:).md)
- [sendSubviewToBack(_:)](uikit/uiview/sendsubviewtoback(_:).md)
- [removeFromSuperview()](uikit/uiview/removefromsuperview().md)
- [insertSubview(_:at:)](uikit/uiview/insertsubview(_:at:).md)
- [insertSubview(_:belowSubview:)](uikit/uiview/insertsubview(_:belowsubview:).md)
- [exchangeSubview(at:withSubviewAt:)](uikit/uiview/exchangesubview(at:withsubviewat:).md)
- [isDescendant(of:)](uikit/uiview/isdescendant(of:).md)
