Кнопка iOS не полностью отображается после нажатия перехода - PullRequest
0 голосов
/ 09 ноября 2018

У меня есть контроллер вида, который при нажатии UIButton подкласса выталкивает другой контроллер вида. Проблема в том, что у меня есть другая кнопка того же подкласса на недавно представленном контроллере вида, но когда он появляется, он обрезается.

Эта проблема решается сама собой, когда я нажимаю клавишу клавиатуры, а если я нажимаю «Отладочная иерархия представления», она выглядит полностью нарисованной в XCode, а когда я завершаю отладку, она полностью рисуется.

Вот пример проблемы в iPhone XS Max iOS 12.1 и Swift 4.2 (некоторые текстовые поля покрыты красным прямоугольником, поскольку они содержат данные пользователя, но они являются подклассами UITextField, а представление карты - это дочерний контроллер вида с UICollectionView):

Это то, что я получаю
wide demo pic

Это то, что я ожидаю
wide demo pic

Я пытался поместить setNeedsDisplay и layoutIfNeeded для кнопки и ее суперпредставления внутри viewDidAppear и viewWillAppear, но я не смог определить, что происходит и как ее решить. Буду очень признателен, если кто-нибудь сможет мне помочь. Спасибо!

Ответы [ 2 ]

0 голосов
/ 10 ноября 2018

Похоже, что 'InputAccessoryView' клавиатуры мешает.

Вы можете попробовать отключить его.

0 голосов
/ 09 ноября 2018

Я думаю, что это не проблема рендеринга, а другой вид сверху кнопки. Попробуйте больше расследований в view debugger

View debugger

Тогда посмотри, что это. (проверьте другие UIWindows)

Полагаю, это предложение клавиатуры. или какой-либо вид нижнего колонтитула или т. д.

...