вы можете использовать функцию «sizeToFit» для изменения размера кнопки до ее оптимального содержания,
или
вы можете использовать «sizeThatFits: CGSizeZero», чтобы фактически получить оптимальный кадр и делать все, что выхочу с ним.
OBS: это будет работать только в том случае, если sizeThatFits больше оригинального размера, поэтому я предлагаю вам установить размер, равный (1,1), перед вызовом функций выше