2015-04-21 1 views
0

Я сделал снимок экрана (экрана блокировки) на своем iPhone 6 и получил его в симуляторе iPhone 6. Я выбираю изображение, представляя контроллер imagePicker, а затем установить его в didFinishPcikingMediaWithInfo следующим образом:Импортировать снимок экрана из галереи и установить в качестве фона в Xcode 6.3 Swift

func imagePickerController(picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [NSObject : AnyObject]) { 
    self.dismissViewControllerAnimated(true, completion: nil); 

    let refImage = info[UIImagePickerControllerOriginalImage] as! UIImage 

    self.view.backgroundColor = UIColor(patternImage: refImage) 
} 

Это приводит к дисплею, как это: iPhone6 Simulator size wrong

Я также попытался изменить последнюю строку, чтобы быть:

let frame = CGRectMake(0, 0, image.size.width, image.size.height) 
let backgroundView = UIImageView(frame: frame) 
backgroundView.image = image 
backgroundView.contentMode = .ScaleAspectFill 
self.view.addSubview(backgroundView) 

, а также пытались backgroundView.contentMode = .ScaleAspectFit

Любая идея, почему скриншот удваивается по размеру и, похоже, не подходит? Я предполагаю какую-то резолюцию?

ответ

1

Изменить этот

let frame = CGRectMake(0, 0, image.size.width, image.size.height) 

в

let frame = CGRectMake(0, 0, self.view.frame.size.width, self.view.frame.size.height) 

Если это не работает, и вы используете раскадровки затем перетащить UIImageView, подключить его через IBOutlet, а затем установить UIImage.

Смежные вопросы