我有一個基於標籤欄的應用程序。在所有5個選項卡中都有導航控制器,並將自定義視圖控制器實例設置爲根視圖控制器。這加載得很好。這些視圖控制器中的一些包含表視圖。我想在表格視圖中選擇一行時向用戶顯示模式視圖控制器。該didSelectRowAtIndexPath方法委託方法(的相關部分)如下所示:延遲呈現模態視圖控制器
SampleSelectorViewController *sampleVC = [[SampleSelectorViewController alloc] init];
[self presentViewController:sampleVC animated:YES completion:NULL];
模態視圖控制器顯示,但它很明顯的延遲後出現。有時甚至需要用戶再次點擊該行。我已經覈實有幾件事情是:當用戶點擊該行
- 表視圖的didSelectRowAtIndexPath方法方法被調用。沒有網絡操作正在執行,並且模態視圖控制器的設置不涉及任何處理密集型任務。它顯示的數據是靜態的。
- 如果我將新的視圖控制器放到導航堆棧上(其他所有內容完全相同),它的行爲完全沒有任何延遲。只有在模態呈現時纔會遇到延遲。
任何意見/建議?
出於興趣,是它同樣慢用'動畫:NO' ? – pbasdf 2014-10-20 15:30:18
就是這樣。動畫似乎對這種奇怪的行爲沒有影響。 – 2014-10-20 15:40:15
有趣。我遇到同樣的延遲模式顯示問題(或者不得不點擊屏幕使其顯示)。在我的情況下,它不是直接的,而是通過didSelectRowAtIndexPath間接觸發的。調用一個委託方法,它調用委託方法,它以模態方式呈現。嗯.. – 2017-08-10 05:29:57