Inspired by https://github.com/bachonk/UIImageView-Letters
An easy, helpful UIImageView extension that generates letter initials as a placeholder for user profile images, with a randomized background color if needed.
Add this spec to your podfile:
use_frameworks!pod 'Letters'
Check out the official guide for getting started with CocoaPods.
- Drag the
UIImageView+Letters.swiftfiles into your project - Enjoy!
Call the following method on any UIImageView instance to set the image:
func setImage(string: String?, color: UIColor? = nil, circular: Bool = false, textAttributes: [NSAttributedStringKey: Any]? = nil)
string is the string used to generate the initials. This should be a user's full name if available.
color is an optional parameter that sets the background color of the image. Pass in nil to have a color automatically generated for you.
circular is a boolean parameter that will automatically clip the image to a circle if enabled.
textAttributes is n dictionary that allows you to specify font, text color, shadow properties, etc., for the letters text, using the keys found in NSAttributedStringKey.
If you want to keep the same color for a given name, you can use the following method from UIColor extension:
static func colorHash(name: String?) -> UIColor
You can get random color using the method static var random: UIColor.
userImageView?.setImage(string: "John DOE", color: .random, circular: true, attributes: [NSAttributedStringKey.font: font.withSize(font.pointSize * 2), NSAttributedStringKey.foregroundColor: UIColor.softBlue])
Using the MIT license. See license file for details.

