IB и Swift
Учитывая текущую схему расположения, где желтый - это супервизор, а красный, зеленый и синий - родственные подвиды желтого,
цель состоит в том, чтобы переместить подпредставление (скажем, зеленое) наверх.
В интерфейсеBuilder
В Интерфейсном Разработчике все, что вам нужно сделать, это перетащить вид, который вы хотите показать, сверху вниз в список в наброске документов.
Кроме того, вы можете выбрать вид, а затем в меню перейти к Редактор> Упорядочить> Отправить на фронт .
В Swift
Есть несколько различных способов сделать это программно.
Метод 1
yellowView.bringSubviewToFront(greenView)
Метод 2
greenView.layer.zPosition = 1
- Этот метод просто перемещает 3D-положение слоявыше (ближе к пользователю) по оси Z.Поскольку по умолчанию
0
для всех остальных представлений, в результате greenView
выглядит так, как будто он сверху.Однако он все еще остается в индексе 0
массива yellowView.subviews
.Однако это может привести к неожиданным результатам, потому что такие вещи, как события касания, все равно будут сначала идти к представлению с наибольшим индексным номером.По этой причине, возможно, было бы лучше использовать описанный выше метод 1. zPosition
можно установить на CGFloat.greatestFiniteMagnitude
(CGFloat(FLT_MAX)
в более старых версиях Swift), чтобы убедиться, что он находится сверху.