Как добавить изображение круга на левой панели навигации - PullRequest
0 голосов
/ 06 февраля 2019

Я хотел добавить изображение круга на левой панели навигации в виде кнопки.Я мог бы добавить, но это не круг, это эллипс.Вот мой код.

let button = UIButton();
button.downloaded(from: user?.Image);
button.frame = CGRect(x: 0, y: 0, width: 36, height:36);
button.layer.cornerRadius = button.frame.width / 2;
button.layer.masksToBounds = true;
button.imageView?.contentMode = .scaleAspectFill;
let barBtn = UIBarButtonItem(customView: button);
self.navigationItem.leftBarButtonItem = barBtn;

Вы можете проверить мой снимок экрана.Вы можете мне помочь?

enter image description here

1 Ответ

0 голосов
/ 06 февраля 2019

Проблема возникает, когда загружаемое изображение больше (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?

...