Быстрая проблема при программной установке изображения в качестве фона - PullRequest
0 голосов
/ 06 августа 2020

Я пытаюсь установить изображение в качестве фона для всего контроллера, поэтому я написал код, который я приложил ниже, и отлично работает на iPhone 11 Pro Max.

Но, что удивительно, это не так. t работает должным образом на iPhone X, и изображение было обрезано в нижней части экрана, поэтому я попытался изменить UIImageView contentMode, но безрезультатно.

Пожалуйста, посмотрите на снимок экрана, чтобы см. тренажеры:

введите описание изображения здесь

Вот мой код:

let img = UIImageView(frame: holderView.bounds)

img.image = UIImage(named: "step 2")

img.contentMode = .scaleToFill

holderView.addSubview(img)

HolderView был закреплен в Interface Builder на четвертых краях супервизора.

Есть идеи, чтобы исправить это, но я не хочу использовать здесь автоматический макет, потому что это простой случай, чтобы проиллюстрировать проблему, и он будет сложным.

1 Ответ

0 голосов
/ 06 августа 2020

Вы должны установить contentMode на scaleToFill, если вы хотите отображать все изображение независимо от отображаемого устройства. Кроме того, ограничьте UIImageView его супервизором UIView.

let img = UIImageView(frame: holderView.bounds)
img.contentMode = .scaleToFill
img.translatesAutoresizingMaskIntoConstraints = false
NSLayoutConstraint.activate([
    img.topAnchor.constraint(equalTo: view.topAnchor),
    img.leadingAnchor.constraint(equalTo: view.leadingAnchor),
    img.bottomAnchor.constraint(equalTo: view.bottomAnchor),
    img.trailingAnchor.constraint(equalTo: view.trailingAnchor)
])
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...