2016-11-12 2 views
0

Мне нужно подставить изображение в качестве фона в моем приложении с быстрым 3. Я установить фон с этим:Изменение размера UIImage для установки ширины устройства

self.view.backgroundColor = UIColor(patternImage: UIImage(named: "bg_sunrise")!) 

Есть ли способ, чтобы убедиться, что изображение соответствует текущей ширине устройства и не широкие масштабы?

ответ

0

Это зависит от того, что вы действительно хотите.

  • Если вам нужно «Аспект подгонка», вам необходимо либо удалить изображение в UIImageView, как emresancaktar при условии. Проблема с этим - и, используя ваше использование backgroundColor, вы это предлагаете, - это то, что вы хотите поместить вещи сверху указанного UIImageView. Это усложняет ситуацию.

  • Если вам просто нужно масштабировать до размера вида, не обращая внимания на «аспект соответствовать», вы можете использовать его слой:

    view.layer.contents = UIImage(named: "bg_sunrise")?.cgImage 
    
  • Наконец, если ваш, как с помощью слоя в целях, но действительно нужно «Аспект подходит», вам нужно будет работать с контекстом CGImage, возможно, используя метод UIImage.drawInRect() после выполнения некоторых вычислений. Быстрый поиск по «CALayer draw image aspect fit» дал этот gist. Это немного старо, но там есть версия Swift. Вы можете сколотить то, что вам нужно, чтобы вернуть CALayer вместо UIImage.

0

Этот маленький фрагмент решит вашу проблему. Имейте хорошее кодирование.

var imageView : UIImageView 
imageView = UIImageView(frame:CGRectMake(0, 0, 100, 70)) 
imageView.contentMode = .ScaleAspectFit 

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

  • Нет связанных вопросов^_^