ios - UITabBarView 使图像变成圆形

标签 ios swift tabs uitabbarcontroller swift2

我正在编写带有图像的应用程序,该图像应该是头像。所以我希望这个头像是完全圆形的。我正在使用自动布局,并且我知道如何在不使用延迟的情况下使图像看起来完美,即使有约束!但现在我正在使用选项卡栏 View (带有 TabBarView Controller ),当我尝试用头像打开选项卡时,我面临问题:图片不是完整的圆圈。它不是菱形,但它仍然不是圆形。但如果我尝试其他酒吧,然后返回带有头像的酒吧,那将是完美的圆形。看看下面的 gif 动画,你就会看到一切:

enter image description here

有执行此操作的代码:

@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 )

关于ios - UITabBarView 使图像变成圆形,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36172456/

相关文章:

ios - 尝试将 View 添加到 UIViewController 的 View 时出错

ios - 将 NSManagedObject 子类核心数据对象打印到控制台在 Swift 中返回空行

ios - 在 Swift 2 中捕获 "IndexOutOfBoundsException"

java - 如何显示带空格的制表符?

jquery - css 左帮助 jquery

ios - ATS应用程序传输安全: HTTP url inside Webview

ios - (UIView *)在 View Controller 中进行hitTest?

ios - 您可以使用 CoreData 中已有的数据上传 iPhone 审查应用程序吗?

swift & Firebase : Detect revoked token

android - 在 Android 中选择选项卡时如何关闭 TabWidget