Как добавить изображение пользовательского интерфейса в контекст, чтобы оно было включено в скриншот?
У меня есть эта функция, которая делает снимок экрана в imageView
@IBAction func screenShotMethod(sender: UIButton) {
//Create the UIImage
UIGraphicsBeginImageContextWithOptions(imageView.frame.size, false, 0.0)
imageView.layer.renderInContext(UIGraphicsGetCurrentContext())
//I think here is where I could add the other imageView if I could name it properly.
let image = UIGraphicsGetImageFromCurrentImageContext()
}
Я думаю, что мне нужно что-то вроде:
UIButton(named:"monkey.png").layer.renderInContext(UIGraphicsGetCurrentContext())
сразу после добавления imageView к контексту, но я не уверен, как это сделать правильно. Как вы можете видеть, я пытаюсь добавить imageView с именем monkey.png, который существует на main.storyboard.
Какие-либо предложения?
1 ответ
Решение
Я не уверен, в чем проблема, почему ваш подход не сработал для вас, но добавление следующей строки вместо комментария, который вы поместили в код ("Я думаю, что здесь, где..."), делает то, что Я понимаю, что вы пытаетесь достичь:
UIImageView(image: UIImage(named: "monkey.png")).layer.renderInContext(UIGraphicsGetCurrentContext())
так что весь ваш метод будет выглядеть так:
@IBAction func screenShotMethod(sender: UIButton) {
UIGraphicsBeginImageContextWithOptions(imageView.frame.size, false, 0.0)
imageView.layer.renderInContext(UIGraphicsGetCurrentContext())
UIImageView(image: UIImage(named: "monkey.png")).layer.renderInContext(UIGraphicsGetCurrentContext())
let image = UIGraphicsGetImageFromCurrentImageContext()
// Do something with the image ;)
}