我實現了一個UIPopoverController,它充滿了分組的UITableView。只要彈出窗口不可見,表格視圖中的單元格數量就可以動態變化。一旦彈出窗口變得可見,單元格的數量就是固定的。錯誤的大小從UITableView.SizeThatFits()
當彈出窗口變得可見時,我將彈窗內容的大小調整爲表格視圖的高度。我使用UITableView中的SizeThatFits()方法獲取表大小並使用此值設置PopoverContentSize高度。
這個工作正常,當應用程序正在運行。但總是第一次在應用程序重新啓動後顯示彈出窗口,SizeThatFits()提供了錯誤的高度(大約60像素到高)。有沒有人知道這個問題可能是什麼?
你解決了這個問題嗎?我現在看到了同樣的問題(viewDidLoad比viewWillAppear中的高40個像素,但在viewWillAppear中彈出大小已經太晚了)。我懷疑這是由於這樣一個事實,即在最初的調用過程中,UITableView不在已經加載的導航控制器內,並且可能sizeThatFits試圖在這種情況下做一些巧妙的事情,例如考慮導航條的高度 – Clafou