Используете ли вы стандартные кнопки или собственные значки?
Я решил ту же проблему, переопределив метод drawRect: UIView, чтобы создавать свои собственные кнопки, которые рисуют сами по себе в зависимости от того, были ли они нажаты.
Вам необходимо иметь:
переменная экземпляра в подклассе UIView для хранения состояния (нажата / не нажата).
пользовательский рисунок в подклассах UIView drawRect: метод для рисования вашей кнопки / значка в любом состоянии.
Код UITapGestureRecognizer в вашем контроллере представления для обработки обнаруженных касаний.
Это несколько изобретает колесо, чтобы получить действительно пользовательские кнопки, но вы это сделаете. иметь действительно красивый и самобытный пользовательский интерфейс, что и есть iOS и б. вы узнаете много, что вы используете другими способами. Инструменты отлично документированы Apple, ищите руководство по программированию CoreGraphics / Quartz и руководство по распознаванию жестов.