2016-08-11 3 views
0

Я построил интерфейс iPad, где я представляю UIPopoverPresentationController из пользовательского класса UIViewController. Пользовательский интерфейс состоит из UICollectionView с количеством ячеек, причем каждая ячейка содержит кнопку, которая будет представлять popover. Попкор имеет свойства sourceRect и sourceView, соответствующие соответствующим свойствам этой кнопки; кадра и супервизора соответственно.Массивная (~ 10 секунд) задержка, представляющая клавиатуру в первый раз с UIPopoverPresentationController отображается

В этом popover имеется UITextField. Когда вы выбираете это поле впервые после того, как пользовательский UIViewController был инициализирован и представлен, перед тем, как появится клавиатура, очень длинная задержка (около 10 секунд). Во время процесса нет выхода консоли. Последующие презентации на клавиатуре гладкие, как шелк. Метод делегата, popoverPresentationController: willRepositionPopoverToRect: inView вообще не вызывает вызова, в то время как другие методы делегата срабатывают, как ожидалось.

Я также попытался использовать старый UIPopoverController в той же ситуации, давая тот же результат.

Следует отметить, что пользовательский интерфейс является только ландшафтным режимом, а popover растягивается в нижней части экрана, поэтому при представлении popover изменяет размер для размещения клавиатуры. У меня есть подозрение, что это изменение размера вызывает задержку, но на самом деле мне нечего делать.

Кто-нибудь еще видел это поведение и/или смог его преодолеть каким-то образом? Это пахнет ошибкой со стороны Apple, потому что это происходит только в первый раз ... но это не очень помогает мне.

Все советы и идеи приветствуются.

Кроме того, если кто-либо, читающий это с достаточной репутацией, может создать тег для нового UIPopoverPresentationController, это было бы здорово.

ответ

0

В маловероятном случае, когда кто-то другой сталкивается с той же ситуацией, проблема заключается в отладчике.

Эпическая задержка присутствует только при присоединении к отладчику. Запустите ту же сборку без отладки, и все работает гладко.

Так что я потратил 1,5 дня на отладку ошибки, которой там не было. Однако я сделал репродуцирую, поэтому я напишу отчет об ошибке с Apple.

Смежные вопросы