на мой взгляд там проще переписать чем разбираться с этой логикой. могу посоветовать только, что кнопка должна добавляться не на саму коллекцию, а под ней, т.е. на вьюшку. ну придется немного повозиться с расчетом координат относительно оффсета коллекции, и надо поправить код, отвечающий за выделение, его можно основывать не на факте выделения ячеек (что в принципе нормально, но вы не выделяете их по факту а делаете надстройку которая не работает), а на факте нахождения координат ячейки над красной кнопкой. тач по кнопке (если нужен) можно ловить рекогнайзером
Задумка сделать что то такое