Как создать границы, используя изображение (актив) в Swift?
Я пишу приложение и, думая о дизайне для него, я пришла в голову мысль о необходимости добавить некоторые границы для элементов. Они должны быть не просто цветными, а какими-то изображениями / активами. Как я могу сделать это правильно? Идея сделать изображение с пустым пространством в центре и на границе, которое мне нужно, и затем установить его в качестве фона, кажется глупой и неправильной.
Кроме того, где я могу найти эти активы бесплатно?
ОБНОВЛЕНИЕ: Для тех, кто не понимает, чего я хочу, я добавил изображение просто случайной границы. Хотя я думаю, что устанавливать его просто как фоновое изображение, кажется плохой идеей, потому что я хочу, чтобы несколько элементов располагались близко друг к другу, чтобы не было несовпадений или удвоения этих границ. Поэтому я думал об использовании ресурса для создания границ для каждого элемента в соответствии с его формой и размером. Не знаю, возможно ли это и как это сделать.
1 ответ
Если вы ищете, как добавить цветную границу в UIImageView, попробуйте это добавить ниже extension
к вашему коду:
extension UIImage {
func imageWithBorder(width: CGFloat, color: UIColor) -> UIImage? {
let square = CGSize(width: min(size.width, size.height) + width * 2, height: min(size.width, size.height) + width * 2)
let imageView = UIImageView(frame: CGRect(origin: CGPoint(x: 0, y: 0), size: square))
imageView.contentMode = .center
imageView.image = self
imageView.layer.borderWidth = width
imageView.layer.borderColor = color.cgColor
UIGraphicsBeginImageContextWithOptions(imageView.bounds.size, false, scale)
guard let context = UIGraphicsGetCurrentContext() else { return nil }
imageView.layer.render(in: context)
let result = UIGraphicsGetImageFromCurrentImageContext()
UIGraphicsEndImageContext()
return result
}
}
И вы можете использовать это так:
let imgOriginal = UIImage.init(named: "Richie_Rich")
img.image = imgOriginal?.imageWithBorder(width: 2, color: UIColor.blue)
Этот ответ пришел от вопроса: Как добавить цветную рамку в UIImage в Swift?
Если вы не ищете это, пожалуйста, будьте точнее!