圆形图像视图

Posted

技术标签:

【中文标题】圆形图像视图【英文标题】:Circle Image View 【发布时间】:2016-02-22 06:32:03 【问题描述】:

我正在尝试为个人资料图片圈出图像视图。 在我限制 UiScreen 宽度之前,它可以正常工作。

这里是代码

import UIKit

class ViewController: UIViewController 

@IBOutlet weak var imageView: UIImageView!

@IBOutlet weak var proPicH: NSLayoutConstraint! //Profile Picture Height
@IBOutlet weak var proPicW: NSLayoutConstraint! // Profile Picture Width

override func viewDidLoad() 
    super.viewDidLoad()
    // Do any additional setup after loading the view, typically from a nib.
    circleImage()


func circleImage() 
    let screenSize = UIScreen.mainScreen().bounds
    let screenWidth = screenSize.width
    let width = screenWidth / 2
    print("ScreenWidth: \(screenWidth)")
    proPicW.constant = width
    proPicH.constant = width

    print("H:\(proPicH.constant)")
    print("W:\(proPicW.constant)") //Here the height and width comes to my expectations

    imageView.layer.cornerRadius = imageView.bounds.width / 2
    imageView.clipsToBounds = true

    print("Height: \(imageView.bounds.height)") // Here the height and width becomes more


请帮我把图片弄圆

【问题讨论】:

你在哪里添加这 2 个常量?在“视图”或“UIImageView”中? 使用 Imageview 的宽度并设置为圆角半径以使您的 imageview 圆形。 这两个约束是 UIImageView 的,即高度和宽度.. @Dipen Panchasara:请写一个代码给我看。我是新手,我尝试了很多但没有工作。 【参考方案1】:

在您设置图像视图角半径的时间点,它的边界尚未更新以匹配约束。改变这一行

imageView.layer.cornerRadius = imageView.bounds.width / 2

imageView.layer.cornerRadius = width / 2

因此用于设置约束的相同值也用于拐角半径。

请注意,如果您在其他一些代码中更新约束,您也会更新角半径以匹配。

【讨论】:

【参考方案2】:

我建议你放

 circleImage()

在 viewDidAppears 方法中

【讨论】:

【参考方案3】:

使用 imageView.layer.cornerRadius = imageView.frame.size.width / 2 imageView.layer.maskToBounds=是;

【讨论】:

以上是关于圆形图像视图的主要内容,如果未能解决你的问题,请参考以下文章

带有圆形图像视图的自定义圆形 UIButton

圆形图像视图

如何在图像视图周围制作圆形边框

表格视图单元格中的圆形图像 swift

在 swift 3 中在圆形图像视图周围添加填充?

如何将按钮放置在圆形图像视图上? [复制]