Вывод подпредставления в UITableViewCell на передний план - PullRequest
5 голосов
/ 21 июля 2011

Я добавил кучу UILabel просмотров к UITableViewCell contentView, некоторые из которых могут перекрываться.Нажав на любую из меток, я хочу вызвать некоторые действия.Кроме того, я хочу поднять наклеенный ярлык наверх.

Используя UITapGestureRecognizer на метках, я могу выяснить, какая из них нажата, и выполнить действия.Но перенос наклеенной и перекрытой этикетки на передний план не работает.Вот что я пытаюсь:

UILabel *foundLabel = ....; // find the label
for (UITableViewCell *acell in theTable.visibleCells) {
    UIView *cellContentView = acell.contentView;
    if ([cellContentView.subviews containsObject:foundLabel]) {
        [cellContentView bringSubviewToFront:foundLabel];
        NSLog(@"should bring to front...");
    }
}

Я получаю вывод NSLog выше, так что я знаю, что bringSubviewToFront вызывается для contentView соответствующей ячейки.Но без изменений в порядке макета подпредставления.

Идеи?

Ответы [ 2 ]

14 голосов
/ 25 марта 2015

Одна вещь, которую нужно исследовать, - это zposition на слое uitablviewcell.

Это успешно поместило меня на tableviewcell перед другим:

    cell1.layer.zPosition=3 ;//above

    cell2.layer.zPosition=2 ;//below 
3 голосов
/ 10 ноября 2011

bringSubviewToFront: у меня тоже не сработало

Попробуйте insertSubview:belowSubview:, где последнее подпредставление является суперпредставлением, таким как панель вкладок, панель навигации, представление таблицы.

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