如何在左侧导航栏项上添加圆圈图像

时间:2019-02-06 20:13:27

标签: ios swift xcode uikit uinavigationbar

我想在左侧导航栏项上添加圆形图像作为按钮。我可以添加,但不是圆形,而是椭圆形。这是我的代码。

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 :(得分:0)

当下载的图像大于(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;

有关调整图像大小,请参阅以下答案。

How to Resize image in Swift?