Ну, я бы сделал несколько вещей.
Во-первых, я бы создал "модель" шара, просто подкласс NSObject для представления шара. Вероятно, это будет иметь свойство "location" или что-то, что является CGRect.
Тогда ваше текущее представление может иметь массив шаровых объектов на экране, и просто проходить через них.
В целом, однако, я не думаю, что использование протоколов UIView - лучший способ управлять обнаружением столкновений. Я думаю, вам лучше определить это другим способом, а затем просто соответствующим образом обновить интерфейс.
Как правило, не стоит полагаться на реализацию пользовательского интерфейса при разработке игр. Это затрудняет изменение (как вы отмечаете в своем вопросе).