contentInsetAdjustmentBehavior никогда не устанавливается
Я пытаюсь установить contentInsetAdjustmentBehavior == .never
для UITableView
в viewDidLoad()
из ViewController
Однако это игнорируется, независимо от того, делаю ли я это программно или через InterfaceBuilder.
Вот что я получаю. Изображение является заголовком TableView.
У меня есть панель навигации поверх того, что, кстати, прозрачно.
Я ожидаю, что Заголовок с изображением будет таким
Любая помощь приветствуется. Спасибо
1 ответ
Решение
Установите константу topConstraint для imageView в -64
- создать Outlet для topConstraint из imageView
объявить переменную topPadding (для iPhone X)
@IBOutlet weak var topConstraint: NSLayoutConstraint! var topPadding:CGFloat = 0.0
И используйте приведенный ниже код в viewDidload
override func viewDidLoad() {
super.viewDidLoad()
self.navigationController!.navigationBar.setBackgroundImage(UIImage(), for: .default)
self.navigationController!.navigationBar.shadowImage = UIImage()
self.navigationController!.navigationBar.isTranslucent = true
topConstraint.constant = -64
if #available(iOS 11.0, *) {
let window = UIApplication.shared.keyWindow
topPadding = (window?.safeAreaInsets.top)!
topConstraint.constant = -(64+topPadding)
}
}