2016-08-11 45 views
0

我已經構建了一個iPad UI,其中我提供了一個來自自定義UIViewController類的UIPopoverPresentationController。 UI由一個帶有許多單元格的UICollectionView組成,每個單元格包含一個將顯示彈出窗口的按鈕。 popover將sourceRect和sourceView屬性設置爲該按鈕的相應屬性;框架和superview分別。顯示UIPopoverPresentationController時首次顯示鍵盤的大量時間(〜10秒)

在這個popover中,有一個UITextField。在自定義UIViewController初始化並呈現後第一次選擇此字段時,在鍵盤出現之前會有非常長的延遲(約10秒)。在此過程中沒有控制檯輸出。隨後的鍵盤演示如同絲綢般光滑。委託方法popoverPresentationController:willRepositionPopoverToRect:inView在此處不會被調用,而其他委託方法會按預期啓動。

我也嘗試在相同的情況下使用舊的UIPopoverController,產生相同的結果。

需要注意的是,UI僅爲橫向模式,彈出窗口延伸至屏幕底部,因此在彈出窗口時,彈出窗口調整大小以容納鍵盤。我懷疑這是導致延遲的調整大小,但我沒有任何實際的依據。

有沒有人看到這種行爲和/或能夠以某種方式克服它?它聞起來像是蘋果方面的一個bug,因爲它只發生在第一次......但是這對我沒有多大的幫助。

所有的意見和想法,讚賞。另外,如果有人讀到足夠的聲譽可以爲更新的UIPopoverPresentationController創建標籤,那就太好了。

回答

0

萬一有其他人遇到相同的情況,這個問題就是調試器。

僅當連接到調試器時纔會出現史詩級延遲。運行相同的構建而不進行調試,並且一切都運行平穩。

所以我花了1.5天時間調試一個不存在的bug。我做了一個複製器,所以我會向蘋果提交一個錯誤報告。