Я построил интерфейс iPad, где я представляю UIPopoverPresentationController из пользовательского класса UIViewController. Пользовательский интерфейс состоит из UICollectionView с количеством ячеек, причем каждая ячейка содержит кнопку, которая будет представлять popover. Попкор имеет свойства sourceRect и sourceView, соответствующие соответствующим свойствам этой кнопки; кадра и супервизора соответственно.Массивная (~ 10 секунд) задержка, представляющая клавиатуру в первый раз с UIPopoverPresentationController отображается
В этом popover имеется UITextField. Когда вы выбираете это поле впервые после того, как пользовательский UIViewController был инициализирован и представлен, перед тем, как появится клавиатура, очень длинная задержка (около 10 секунд). Во время процесса нет выхода консоли. Последующие презентации на клавиатуре гладкие, как шелк. Метод делегата, popoverPresentationController: willRepositionPopoverToRect: inView вообще не вызывает вызова, в то время как другие методы делегата срабатывают, как ожидалось.
Я также попытался использовать старый UIPopoverController в той же ситуации, давая тот же результат.
Следует отметить, что пользовательский интерфейс является только ландшафтным режимом, а popover растягивается в нижней части экрана, поэтому при представлении popover изменяет размер для размещения клавиатуры. У меня есть подозрение, что это изменение размера вызывает задержку, но на самом деле мне нечего делать.
Кто-нибудь еще видел это поведение и/или смог его преодолеть каким-то образом? Это пахнет ошибкой со стороны Apple, потому что это происходит только в первый раз ... но это не очень помогает мне.
Все советы и идеи приветствуются.
Кроме того, если кто-либо, читающий это с достаточной репутацией, может создать тег для нового UIPopoverPresentationController, это было бы здорово.