Как увидеть, какой tableView находится сверху - PullRequest
0 голосов
/ 18 января 2019

У меня есть несколько табличных представлений, накладываемых друг на друга, и мне нужно программно узнать, какой из них находится сверху (ось z).

Ответы [ 2 ]

0 голосов
/ 18 января 2019

Братья и сестры UIView складываются в порядке их добавления в суперпредставление.

Вы можете проверить с помощью следующего кода:

Вид сверху: parentView.subviews.lastObject;

Вид снизу: parentView.subviews[0];

Если вы хотите, чтобы представление отображалось перед всеми другими представлениями:

parentView.bringSubview(toFront: view)

Вы можете использовать свойство zPosition слоя представления (это объект CALayer), чтобы изменить z-индекс представления.

theView.layer.zPosition = 1;
0 голосов
/ 18 января 2019

Z-порядок представлений определяется их порядком в массиве subviews их суперпредставления.

Учитывая двух братьев и сестер, A и B: B находится сверху, если индекс B в массиве subviews (принадлежащий их общему родителю) больше, чем индекс A. Это верно независимо от того, перекрываются ли кадры А и В.

NSArray отвечает на indexOfObject:, что делает тест простым.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...