Странное поведение UITableViewController в моделях с надрезом iOS12, когда языковая настройка iPhone - японская или китайская

Эта проблема возникает в зависимости от языковой настройки iPhone.
Мне удалось подтвердить эту проблему на японском и китайском языках.
На английском и т. Д. Эта проблема не возникает.

Я создал простой проект, который устанавливает UINavigationController на раскадровку, используя Xcode10. rootViewController является UITableViewController по умолчанию.
Я почти ничего не изменил на раскадровке.
Я использую массив строк от 1 до 5 в качестве источника данных UITableView.

Если я соберу и поверну это на iOS12, UITableView будет смещенным верхом или будет находиться под навигационной панелью.
Эта проблема не возникает в iOS11. Также никаких проблем не возникнет у моделей без надреза.
Эта проблема возникает только с надрезанными моделями iOS12. (iPhone X, XS, XS Max, Xr)

Кто-нибудь знает причину этой странной проблемы?
Спасибо.

странный плюс смещение вершины

под NavigationBar

Я загрузил свой проект на GitHub. Не могли бы вы подтвердить это?

https://github.com/yaslam2222/SimpleTableViewController

2 ответа

Решение

Я думаю, что вы нашли ошибку! (Как вы правильно объяснили, это происходит только на устройстве X, только в iOS 12 и только в китайской или японской среде.)

Вот обходной путь - не очень удовлетворительный, но по крайней мере это обходной путь:

override func viewDidLoad() {
    super.viewDidLoad()
    self.edgesForExtendedLayout = []
}

Я сообщил об этой ошибке в Apple. Apple ответила, что это должно быть исправлено на iOS 12.1.
Я установил Xcode 10.1 beta 2 и подтвердил эту ошибку на симуляторе iOS 12.1.
Я подтвердил, что эта ошибка была исправлена ​​на iOS 12.1 (симулятор).
Спасибо.

Другие вопросы по тегам