Покрытие пространства из одной ячейки UITableView другой - PullRequest
2 голосов
/ 17 апреля 2011

Дизайн UITableView выглядит примерно так:

enter image description here

Я хочу сделать свои клетки маленьким треугольником, как в комиксах. Дело в том, как я могу добавить треугольник к размеру моей пользовательской ячейки? Общий размер прямоугольника не сработает, если я хочу, чтобы пользователь мог нажать на этот маленький прямоугольник.

А как я могу сделать обратное? Я хочу, чтобы треугольник покрывал пространство другой ячейки, поэтому касание маленького треугольника первой ячейки, охватывающего часть пространства прямоугольника второй ячейки, активирует де первую. Это вычитание маленького треугольника из пространства ячейки.

1 Ответ

0 голосов
/ 18 апреля 2011

Не уверен, что это сработает, но, основываясь на комментарии пользователя697562, вы можете попробовать следующее:

  1. Добавить небольшой UIView в ячейку таблицы, чтобы представить маленький треугольник
  2. Поверните его, используя свойство transform, убедившись, что он вместе с рамкой будет располагаться правильно.
  3. Добавление UITapGestureRecognizer в UIView
  4. Добавьте переменную экземпляра в представление, чтобы сохранить indexPath ячейки, в которой он находится (или даже вышеуказанной ячейки, поскольку она будет связана с вышеуказанной ячейкой). Таким образом, когда запускается распознаватель жестов, вы знаете, в какой строке вы находитесь.
  5. Напишите метод действия, связанный с распознавателем жестов, чтобы сделать то же самое, что tableView: didSelectRowAtIndexPath: будет делать для указанной выше ячейки.
  6. Установите для свойства separatorStyle объекта UITableView значение UISeparatorStyleNone, чтобы оно не рисовало линии между ячейками. Если это не работает, просто установите для свойства separatorColor цвет фона ячейки таблицы.
  7. Нарисуйте границу вдоль верхней и нижней частей ячейки, учитывая треугольник.

Удачи с этим! Дайте мне знать, работает ли он, если вы попробуете.

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