Некоторые предпосылки: я просто пытаюсь сделать простую программу, используя xcode 6 beta 7 в быстрой картине iphone после нажатия кнопки. Это делается в SpiteKit и в игровой сцене. Фон представляет собой случайное png-изображение и образец текста по умолчанию "hello world". Я программно помещаю нажатую кнопку (образ космического корабля по умолчанию - кнопка) в функции gamescene didMoveToView, используя следующий код:
button.setScale(0.2)
screen.frame = CGRect(origin: CGPointMake(self.size.width/4, self.size.height/1.5), size: button.size)
screen.setImage(playAgainButton, forState: UIControlState.Normal)
screen.addTarget(self, action: "action:", forControlEvents: UIControlEvents.TouchUpInside)
self.view!.addSubview(screen)
Это устанавливает мою нажатую кнопку на экране, где она связана с функцией, чтобы сделать снимок экрана, используя следующий код:
func action(sender:UIButton!){
UIGraphicsBeginImageContext(self.view!.bounds.size)
self.view!.layer.renderInContext(UIGraphicsGetCurrentContext())
let screenshot = UIGraphicsGetImageFromCurrentImageContext()
UIGraphicsEndImageContext()
UIImageWriteToSavedPhotosAlbum(screenshot, nil, nil, nil)
}
Таким образом, этот код делает снимок экрана, но когда я смотрю фотографии, отображается только кнопка с нажатой кнопкой, а остальная часть изображения - белая. Изображение показано ниже:
Ниже я думаю, что экранный снимок должен выглядеть так, как это выглядит на экране в симуляторе (я просто использовал некоторые случайные изображения/текст в качестве фона):
Может кто-нибудь объяснить мне, почему программа скриншотов также не делает снимок фона и как его исправить?
Я смотрел онлайн, и я не видел вопроса, который является решением моей проблемы. В сети я видел некоторые подобные проблемы и проверял их исправления: я импортировал quartzCore, coreGraphics и coreImages, но без исправлений. Кроме того, я попытался использовать ViewController и установил UIbutton там с IBaction для снятия снимков, но все равно получаю то же белое фоновое изображение. Я пробовал разные фоновые изображения с тем же результатом.
Я новичок в программировании, поэтому любая помощь будет оценена! Заранее спасибо!