Я бы попробовал преобразовать ваше представление контента в растровое изображение, когда начинается прокрутка или масштабирование, и заменять большую сетку кнопок растровым изображением, пока прокрутка / масштабирование не будет завершена. Протокол UIScrollViewDelegate должен предоставить вам необходимую информацию, чтобы знать, когда нужно поменять местами растровое изображение. Частично проблема заключается в том, что представление вашего контента требует слишком много вычислений (все эти кнопки).
Более сложный подход заключается в том, чтобы заново реализовать игровую сетку на более низком уровне, используя coreanimation и более фундаментальную обработку сенсорных событий, но это может быть излишним, если хак с растровым изображением работает достаточно хорошо.