2011-11-06 12 views
2

這個問題一直困擾着我一個月,我一直在拒絕發佈它,但我不能忍受。這是怎麼回事:奇怪的UITableViewCellStyleSubtitle + [cell imageView]行爲

我有一個應用程序UITableViewCell s,全部初始化爲UITableViewCellStyleDefault。對於每一個,我使用優秀的SDWebImage包設置圖像視圖的圖像,該包擴展了UIImageView以爲[UIImageView setImageWithURL:(NSURL *)url placeholderImage:(UIImage *)image]提供方法。

問題是圖像在tableView上顯示得比它們應該更窄,但由於某種原因選擇一行使其成爲正確的大小。所以滾動屏幕上的行,然後屏幕上,然後離屏。

我應該用什麼方法強制單元格重繪?我發現了一些相互矛盾的想法,迄今爲止它們都沒有工作。我覺得有一個簡單的調用UITableView到UITableViewCell我錯過了。另外,我在哪裏打這個電話?我嘗試過撥打電話cellForRowAtIndexPathwillDisplayCell

感謝您的幫助!

SDWebImage:https://github.com/rs/SDWebImage

+0

是使用的全寬你的'UITableView'屏幕?哪種類型的表格(普通/分組)?除了在「textLabel」和「detailTextLabel」中設置文本之外,還有其他任何內容嗎?您是否嘗試過在加載內容之前和之後調試圖像的大小? –

+0

如果您想重繪單元格來修復圖片加載問題,您應該確保在圖片加載後立即執行此操作(我不知道您可以使用「SDWebImage」中的任何'delegate' ?)。 –

+0

我已經嘗試了'UITableView'作爲分組和普通。在一些單元格上有一個額外的imageView - 但問題在我添加這些之前就已經開始了。圖像大小由它們加載的服務器以平方爲單位固定。 – Tim

回答

0

我解決了這個問題 - 我只是讓我的SDWebImage佔位符圖像相同的縱橫比,因爲我試圖加載圖像。由於我的服務器強制所有圖像爲95x95,這是一個相對簡單的修復方法;我只是更新我的placeholder.png也成爲95x95(而不是一些奇怪的尺寸是的,就像92x132)

0
[[cell imageView] setContentMode:UIViewContentModeScaleAspectFit]; 

此行使得ImageView的顯示在其原始分辨率的圖像,但適合圖像視圖大小。

主要缺點是如果u有不同尺寸的影像,然後每個圖像將顯示我不同尺寸....它不應該看起來很不錯...

+0

因爲賞金在14分鐘內結束,這確實幫助了我(儘管不是原來的問題),在這裏你去! – Tim