@ Alexa289 проверьте мой обновленный ответ
инающий. Я хочу создать файл swift, содержащий код для создания Designable UIImage, поэтому я не буду редактировать отображение элемента UI путем кодирования, просто в Интерфейсном конструкторе, назначив этот файл swift классу UI.
Я могу сделать что-то подобное в UIButton, например, если я хочу сделать круглый угол и добавить границу для UIButton, я могу сделать что-то вроде этого
import UIKit
@IBDesignable
class DesignableButton: UIButton {
@IBInspectable var cornerRadiusOfButton : CGFloat = 0 {
didSet {
layer.cornerRadius = cornerRadiusOfButton
}
}
@IBInspectable var borderWidth: CGFloat {
set {
layer.borderWidth = newValue
}
get {
return layer.borderWidth
}
}
@IBInspectable var borderColor: UIColor? {
set {
guard let uiColor = newValue else { return }
layer.borderColor = uiColor.cgColor
}
get {
guard let color = layer.borderColor else { return nil }
return UIColor(cgColor: color)
}
}
}
для UIImage обычно мы хотим добавить закругленный угол или сделать круговой UIImage, используя этот код
// round corner
someImage.layer.cornerRadius = checkinPhoto.bounds.width/20
someImage.clipsToBounds = true
// circular image
someImage.layer.cornerRadius = someImage.frame.size.width / 2
someImage.clipsToBounds = true
как сделать этот код в @IBDesignable код класса для UIImage, как Designable UIButton выше? Я пытался сделать, создав подкласс UIImage, но я не понимаю, почему я не могу получить к нему доступlayer
а такжеclipToBounds