Пользовательский заголовок 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)
}
}