У меня есть пользовательский UITableViewCell.Все рисование выполняется в методе drawRect: и никакие подпредставления не добавляются.Рисунок работает нормально, скорость прокрутки хорошая.Но проблема с выделенными клетками.Я хочу, чтобы выделение велось так, как обычно:
- Цвет выделения синего градиента
- Инвертированный цвет текста
- Анимированное выделение
Мне не удалось достичь всех трех.
Первая попытка:
Установить selectionStyle = UITableViewCellSelectionStyleNone и выполнить выбор цвета в методе drawRect.С помощью этого метода я могу достичь первых двух вещей, но отмена происходит мгновенно.Таким образом, одна секунда выделена синим цветом, а следующая - отменена.Я не получаю хорошего затухания.
Вторая попытка:
selectionStyle = UITableViewCellSelectionStyleBlue При этом методе моя ячейка становится градиентно-синим при выборе.Текст у меня не виден.Затухание работает хорошо.
Третья попытка:
Установите selectionStyle = UITableViewCellSelectionStyleBlue, а также установите selectedBackgroundView в UIView, где я установил backgroundColor в прозрачный синий цвет.Здесь проблема в том, что selectedBackgroundView (несмотря на название) рисуется поверх моего обычного контента.Поэтому, если selectedBackgroundView не является прозрачным, я не вижу текст.И если он прозрачный, я могу видеть текст, но цвет выделения становится «блеклым» и выглядит неправильно.
Каков будет правильный способ достижения всех трех пунктов маркера?