In this tutorial, you will learn how to make UIImage circular programmatically in Swift.
Making a UIImage circular programmatically in Swift involves several steps.
If you are interested in video lessons on how to write Unit tests and UI tests to test your Swift mobile app, check out this page: Unit Testing Swift Mobile App
Step 1: Create a UIImageView with Your Image
First, you need to create a UIImageView instance within your UIViewController. Then set the image you want to display UIImageView by initializing it with a named image from your assets.
import UIKit
class ViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
view.backgroundColor = .white
let image = UIImage(named: "YourImageName")
let imageView = UIImageView(image: image)
}
}
Replace "YourImageName" with the actual name of your image asset.
Step 2: Set the Frame for the UIImageView
Define the dimensions of the UIImageView by setting its frame. The frame specifies the position and size of the view in the coordinate system of its superview.
imageView.frame = CGRect(x: 0, y: 0, width: 200, height: 200)
This sets the image view’s width and height to 200 points and positions it at the origin (top-left corner) of its parent view.
Step 3: Make the Image Circular
To make the image circular, set the cornerRadius property of the UIImageView‘s layer to half of the width or height of the image view. Then, enable the clipsToBounds property to ensure that the content is confined to the bounds of the view.
imageView.layer.cornerRadius = imageView.frame.size.width / 2 imageView.clipsToBounds = true
Step 4: Add a Border Around the UIImageView
To add a border around the circular image, set the borderWidth property of the UIImageView‘s layer to the desired thickness. Then, specify the color of the border using the borderColor property.
imageView.layer.borderWidth = 1 imageView.layer.borderColor = UIColor.black.cgColor
Here, you set a black border with a width of 1 point added around the image view.
Step 5: Change the UIImage Border Color
If you want to change the border color, simply assign a different CGColor value to the borderColor property.
imageView.layer.borderColor = UIColor.red.cgColor
This changes the border color to red.
Complete Code Example
Below is a complete code example combining all the above steps:
import UIKit
class ViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
view.backgroundColor = .white
let image = UIImage(named: "YourImageName")
let imageView = UIImageView(image: image)
imageView.frame = CGRect(x: 0, y: 0, width: 200, height: 200)
imageView.layer.cornerRadius = imageView.frame.size.width / 2
imageView.clipsToBounds = true
imageView.layer.borderWidth = 1
imageView.layer.borderColor = UIColor.black.cgColor
imageView.center = view.center
view.addSubview(imageView)
}
}

Conclusion
I hope this tutorial was helpful to you and you have a solid understanding of how to manipulate UIImageView layers to achieve a circular image with a customizable border.
For more Swift code examples and tutorials, please check the Swift Code Examples page on this website.