繁体   English   中英

UITabBarView使图像变成圆圈

[英]UITabBarView make image a circle

我正在用图像编写应用程序,应该是头像。 因此,我希望此头像完全绕圈。 我正在使用AutoLayout,我知道如何即使没有约束也可以使外观图像完美地变成圆形,而不会延迟! 但是现在我正在使用Tab Bar View(带有TabBarView Controller),并且当我尝试使用头像打开标签时遇到了问题:图片不完整。 它不是菱形,但仍然不是圆。 但是,如果我尝试其他酒吧,然后返回带有头像的酒吧,那将是一个完美的圈子。 查看下面的gif动画,您将看到所有内容:

在此处输入图片说明

有执行此操作的代码:

@IBOutlet weak var userAvatarImageView: UIImageView!

override func viewDidLoad() {
    super.viewDidLoad()
    // Do any additional setup after loading the view.
}

override func viewWillAppear(animated: Bool) {
    userAvatarImageView.layer.borderWidth = 4.0
    userAvatarImageView.layer.masksToBounds = true
    userAvatarImageView.clipsToBounds = true
    userAvatarImageView.layer.cornerRadius = userAvatarImageView.bounds.size.width / 2.0
    let color = UIColor(red: CGFloat(255.0), green: CGFloat(255.0), blue: CGFloat(255.0), alpha: CGFloat(1.0))
    userAvatarImageView.layer.borderColor = color.CGColor
}

override func viewDidLayoutSubviews() {
    userAvatarImageView.layer.cornerRadius = userAvatarImageView.bounds.size.width / 2.0
}

override func viewWillLayoutSubviews() {
    userAvatarImageView.layer.cornerRadius = userAvatarImageView.bounds.size.width / 2.0
}

但是这些方法都无法正常工作。 拜托,也许有人知道该如何解决?

我遇到了同样的问题,我发现userAvatarImageView.bounds.size.width / 2.0这个不起作用。 所以我在那里给出了确切的值,然后图像显示出完美的圆圈。

   userAvatarImageView.layer.cornerRadius = userAvatarImageView.bounds.size.width / 2.0 // Dont use like this 

   userAvatarImageView.layer.cornerRadius = 10.0 ( value which equal to userAvatarImageView.bounds.size.width / 2.0, calculate that value and put it here )

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM