Created
July 23, 2019 03:12
-
-
Save harrisonrw/717357c2db9923017cb4de5e9043e0e1 to your computer and use it in GitHub Desktop.
Swift extension on UIView to round the corners
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// UIView+RoundedCorners.swift | |
// | |
// Created by Robert Harrison on 7/22/19. | |
// Copyright © 2019 Robert Harrison. All rights reserved. | |
// | |
// Usage: | |
// view.roundCorners([.topLeft, .topRight], cornerRadius: 8.0) | |
import UIKit | |
enum Corner { | |
case topLeft | |
case topRight | |
case bottomLeft | |
case bottomRight | |
} | |
extension UIView { | |
func roundCorners(_ corners: [Corner], cornerRadius: CGFloat) { | |
var maskedCorners = CACornerMask() | |
for corner in corners { | |
switch corner { | |
case .topLeft: | |
maskedCorners.insert(.layerMinXMinYCorner) | |
case .topRight: | |
maskedCorners.insert(.layerMaxXMinYCorner) | |
case .bottomLeft: | |
maskedCorners.insert(.layerMinXMaxYCorner) | |
case .bottomRight: | |
maskedCorners.insert(.layerMaxXMaxYCorner) | |
} | |
} | |
self.layer.maskedCorners = maskedCorners | |
self.layer.cornerRadius = cornerRadius | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment