Пользовательский заголовок UINavigationBar не центрирован на iOS11

Я только что обновился до Xcode 9 и запустил симулятор iOS11. Мой пользовательский вид заголовка навигационной панели сдвинут вниз.

Этот код работал, прежде чем я обновил; это было вертикально по центру, прежде чем

companyCountryView = CompanyNameView(frame: CGRect(x: 0, y: 0, width: Utils.getScreenWidth() - 150, height: 35))
companyCountryView.companyLbl.text = ""
companyCountryView.countryLbl.text = ""
self.navigationItem.titleView = companyCountryView

Несмотря на то, что я изменяю значения для y и высоты, никакого эффекта нет. Кажется, что значение ширины, которое я использовал, тоже не дает никакого эффекта.

1 ответ

Я решил это! Вам нужно переопределить intrinsicContentSize в вашем пользовательском классе представления и поместить размер представления там:

class CustomView: UIView {
    override var intrinsicContentSize: CGSize {
        return CGSize(width: Utils.getScreenWidth() - 150.0, height: 35.0)
    }
}
Другие вопросы по тегам