Как установить ограничения для UIImageView с scaleAspectFill так, чтобы его высота оставалась в пределах доступного пространства? - PullRequest
1 голос
/ 02 мая 2020

Я хочу, чтобы мой UIImageView всегда занимал всю ширину страницы и заливку в пределах доступной высоты. (Эта страница находится в ScrollView)

Вот макет , который я пытаюсь достичь.

Что я реализовал так far:

Создан UIView (родительский объект для UIImageView) со следующими ограничениями для освобождения полей слева и справа:

        let borderViewConstraints: [NSLayoutConstraint] = [
            imgView.topAnchor.constraint(
                equalTo: page2.topAnchor),
            imgView.leadingAnchor.constraint(
                equalTo: page2.leadingAnchor,
                constant: -horizontalPadding),
            imgView.trailingAnchor.constraint(
                equalTo: page2.trailingAnchor,
                constant: horizontalPadding),
        ]

Затем сделал imgView (UIImageView) подпредставление containerView (UIView):

        imgView.contentMode = .scaleAspectFill

        // ...

        // Setting the constraints 
        imgView.translatesAutoresizingMaskIntoConstraints = false

        NSLayoutConstraint.activate([
            imgView.leadingAnchor.constraint(
                equalTo: containerView.leadingAnchor),
            imgView.topAnchor.constraint(
                equalTo: containerView.topAnchor,
                constant: 120),
            imgView.trailingAnchor.constraint(
                equalTo: containerView.trailingAnchor),
            imgView.bottomAnchor.constraint(
                equalTo: containerView.bottomAnchor)
    ])

Проблема

Проблема с этим подходом состоит в том, что, поскольку высота UIView не связана ни с чем, изображение попадает под текст заголовка на меньших экранах. Есть ли способ ограничить высоту UIView, чтобы предотвратить это переполнение?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...