Проблема возникает, когда загружаемое изображение больше (36, 36), оно сбрасывает фрейм imageView, и в результате фрейм UIbutton
также сбрасывается.Вам необходимо изменить размер изображения, прежде чем назначить его для imageView, сделав его меньше (36,36).
Также не делайте UIButton округлым, а imageView округленным.В противном случае сенсорная область кнопки будет уменьшена.
используйте:
button.imageView.layer.cornerRadius = button.imageView.frame.width / 2;
button.imageView.layer.masksToBounds = true;
Вместо:
button.layer.cornerRadius = button.frame.width / 2;
button.layer.masksToBounds = true;
См. Следующий ответ для изменения размера изображений.
Как изменить размер изображения в Swift?