Anirudha Mahale
Anirudha Mahale

Reputation: 2596

Circle Image View

I am trying to make image view circled for profile pics. It was working properly before I had put constrains of UiScreen width.

so here is the code

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
}
}

Here is how image comes, I want it to be round

Please help me with this to make image round

Upvotes: 0

Views: 199

Answers (3)

Akshay Hastekar
Akshay Hastekar

Reputation: 168

Use imageView.layer.cornerRadius = imageView.frame.size.width / 2 imageView.layer.maskToBounds=Yes;

Upvotes: 0

Devang Tandel
Devang Tandel

Reputation: 3008

I would suggest you to put

 circleImage()

in viewDidAppears Methods

Upvotes: 0

Wain
Wain

Reputation: 119041

At the point in time where you set the image view corner radius its bounds haven't been updated to match the constraints yet. Change this line

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

To

imageView.layer.cornerRadius = width / 2

So that the same value used to set the constraints is also used for the corner radius.

Note that if you update the constraints in some other piece of code you also new to update the corner radius to match.

Upvotes: 1

Related Questions