我正在使用一個應用程序,該應用程序使用顯示從webservice獲取的內容的tableviews。在某些單元格中,我可能需要顯示未知尺寸的圖像。爲此,我有一個固定寬度(292pts)的單元格內的UIImageView。然後我相應地調整imageview高度,就像這樣。創建後更改UITableViewCell高度
imageviewheight = 292/imagewidth * imageheight
例如,如果我有一個圖像是730 * 1250我將高度設置爲500,以保持縱橫比並且顯示整個圖像。
但是,這可能是一個問題,當我需要設置單元格高度。由於圖像是從互聯網下載的,因此當我需要創建單元格時,圖像可能沒有完成下載。因此,我無法確定單元格高度,直到圖片下載完畢,我無法讓我的用戶界面等待,因此我顯示一個佔位符圖像,而單元格高度基於高度。
一旦我的圖片下載了,我需要在圖片視圖中顯示它。如果高度與佔位符圖像的高度相匹配,那很好。否則,我需要調整imageview高度以進行補償,並依次更改單元格高度。但是,問題是一旦細胞已經被創建,我無法改變高度。
我能想到的唯一解決方案是保存UIImage,並重新加載單元格。然後,因爲我已經有了圖像,所以我可以根據圖像設置單元高度。然而,這似乎是一個非常低效的解決方案。有什麼方法可以在創建單元格後調整單元格高度?我嘗試改變單元格的框架,但是沒有做任何事情。有沒有辦法在創建後更改單元格高度,或者只能重新加載單元格?
我認爲這會幫助你[點擊這裏](http://stackoverflow.com/questions/7194136/how-do-i-change-the-height-of-a-uitableview-to-fit-its-動態內容)。 希望它有幫助。 – keen
您必須在CellforrowatindexPath之前以任何代價設置單元格高度,我可以建議您,當您獲取圖像的信息時,將該圖像放入數組中,並使用該數組填充您的tableview,並在索引處爲行計算高度圖像高度對數組中的索引,..希望可以幫助你 –
爲什麼你不設置圖像的高度和寬度的固定? –