我已經構建了一個iPad UI,其中我提供了一個來自自定義UIViewController類的UIPopoverPresentationController。 UI由一個帶有許多單元格的UICollectionView組成,每個單元格包含一個將顯示彈出窗口的按鈕。 popover將sourceRect和sourceView屬性設置爲該按鈕的相應屬性;框架和superview分別。顯示UIPopoverPresentationController時首次顯示鍵盤的大量時間(〜10秒)
在這個popover中,有一個UITextField。在自定義UIViewController初始化並呈現後第一次選擇此字段時,在鍵盤出現之前會有非常長的延遲(約10秒)。在此過程中沒有控制檯輸出。隨後的鍵盤演示如同絲綢般光滑。委託方法popoverPresentationController:willRepositionPopoverToRect:inView在此處不會被調用,而其他委託方法會按預期啓動。
我也嘗試在相同的情況下使用舊的UIPopoverController,產生相同的結果。
需要注意的是,UI僅爲橫向模式,彈出窗口延伸至屏幕底部,因此在彈出窗口時,彈出窗口調整大小以容納鍵盤。我懷疑這是導致延遲的調整大小,但我沒有任何實際的依據。
有沒有人看到這種行爲和/或能夠以某種方式克服它?它聞起來像是蘋果方面的一個bug,因爲它只發生在第一次......但是這對我沒有多大的幫助。
所有的意見和想法,讚賞。另外,如果有人讀到足夠的聲譽可以爲更新的UIPopoverPresentationController創建標籤,那就太好了。