Сравнение BottomLayoutGuide с iOS 10 и iOS 11

Добрый день!

У меня проблема с размещением баннера в моем приложении. Это статический TableViewController, а bannerView должен находиться внизу экрана. Сделал все как сказано в Google Mobile SDK.

func positionBannerViewFullWidthAtBottomOfView(_ bannerView: UIView) {
    view.addConstraints([
        NSLayoutConstraint(item: bannerView,
                           attribute: .leading,
                           relatedBy: .equal,
                           toItem: view,
                           attribute: .leading,
                           multiplier: 1,
                           constant: 0),
        NSLayoutConstraint(item: bannerView,
                           attribute: .trailing,
                           relatedBy: .equal,
                           toItem: view,
                           attribute: .trailing,
                           multiplier: 1,
                           constant: 0),
        NSLayoutConstraint(item: bannerView,
                           attribute: .bottom,
                           relatedBy: .equal,
                           toItem: bottomLayoutGuide,
                           attribute: .top,
                           multiplier: 1,
                           constant: 0)
        ]
    )

Вот как он загружается сейчас, чуть ниже вида:

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

Я предполагаю, что проблема в последнем ограничении, кажется, что bottomLayoutGuide ведет куда-то, когда этого не должно быть. Когда я удаляю последнее ограничение, оно появляется прямо под панелью навигации.

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

Эта проблема не возникает в iOS 11+, только в предыдущих версиях.


person Konstantin    schedule 27.08.2018    source источник
comment
в чем проблема, можно подробнее?   -  person KKRocks    schedule 27.08.2018
comment
Проблема в том, что в соответствии с ограничениями из поста 1 баннер должен быть точно внизу экрана, я не должен прокручивать вниз, чтобы увидеть его. Он отлично загружается на симуляторе с iOS 11, но не на 10, 9 и т. д.   -  person Konstantin    schedule 27.08.2018
comment
замените нижнее ограничение на это: NSLayoutConstraint (элемент: bannerView, атрибут: .bottom, relatedBy: .equal, toItem: bottomLayoutGuide, атрибут: .bottom, множитель: 1, константа: 0)   -  person KKRocks    schedule 27.08.2018
comment
см. это: stackoverflow.com/questions/31651022 /   -  person KKRocks    schedule 27.08.2018
comment
Это не помогло :(   -  person Konstantin    schedule 27.08.2018
comment
см. это: stackoverflow.com/ вопросы/45534851/   -  person KKRocks    schedule 27.08.2018