Рамка и изображение в определенном соотношении сторон

Я создал пустой серый UIImage, используя код ниже

let size = CGSize(width: 212, height: 332)

UIGraphicsBeginImageContextWithOptions(size, true, 0)
UIColor.gray.setFill()
UIRectFill(CGRect(x: 0, y: 0, width: size.width, height: size.height))
let backgroundImage2: UIImage? = UIGraphicsGetImageFromCurrentImageContext()
UIGraphicsEndImageContext()

Показывает вывод как

Теперь мне нужно поместить UIImage в определенную область в этом UIImage. как показано на рисунке ниже. Скажем, сверху, слева, справа должно быть 30 пикселей, а снизу больше, скажем, 200 пикселей. поддержание внутреннего формата изображения.

1 ответ

Используйте два изображения (либо UIImageView или же GLKView), делая "изображение" подпредставлением представления "серый фон". После правильного размещения "изображения", объедините два изображения в одно.

Вот расширение к UIView что я использую:

extension UIView {
    public func createImage() -> UIImage {
        UIGraphicsBeginImageContextWithOptions(
            CGSize(width: self.frame.width, height: self.frame.height), true, 1)
        self.layer.render(in: UIGraphicsGetCurrentContext()!)
        let image = UIGraphicsGetImageFromCurrentImageContext()
        UIGraphicsEndImageContext()
        return image!
    }
}
Другие вопросы по тегам