Я бы просто поместил пользовательскую кнопку поверх вида UIImage и использовал ее обычным образом - кнопки с пользовательским стилем невидимы и поэтому не затеняют изображение. Это также отличный способ превратить области текста в интерактивные области.
Или вы можете назначить пользовательское изображение в качестве графического фона для кнопки.