У меня была такая же проблема, и после поиска я нашел хорошую ветку.
Как масштабировать изображение UIButton?
Я предлагаю вам установить фоновое изображение кнопки, которая решит вашу проблему.
И будьте осторожны, если вы изменяете размер изображения программно, для его изменения потребуется время. Если у вас есть несколько изображений, и вы изменяете размеры программным способом, сделайте это в другом фоновом потоке, который защитит ваш основной поток, и графический интерфейс пользователя не будет зависать и устанавливать измененное изображение в основном потоке.