2010-07-05 21 views
16

我有,我想用UITableViewCellStyleSubtitle風格,提供了一個UIImageView,以及兩行文字,以及一個可選的附件視圖在UITableViewCell來顯示圖像。的iOS SDK UIViewContentModeScaleAspectFit與UIViewContentModeScaleAspectFill

但是,當我將UIImageView的內容模式設置爲UIViewContentModeScaleAspectFitUIViewContentModeScaleAspectFill中的任何一個時,似乎沒有區別。這兩種內容模式都只是顯示整個圖像,將文本向右移動以爲圖像騰出空間。

有沒有人有任何這些實際上如何不同的例子?該文檔說:

UIViewContentModeScaleAspectFit: 
Scales the content to fit the size of the view by maintaining the aspect ratio. Any  remaining area of the view’s bounds is transparent. 

UIViewContentModeScaleAspectFill: 
Scales the content to fill the size of the view. Some portion of the content may be clipped to fill the view’s bounds. 

但是,這些內容模式似乎不像廣告一樣行事。

編輯︰我正在運行SDK iOS 4.

+0

我能想到的唯一的事情是,也許UITableViewCell與UITableViewCellStyleSubtitle覆蓋這些內容模式,以自動調整圖像視圖的大小,以插入圖像的大小。這通過實踐取得的成果有所幫助。 – Dalmazio 2010-07-10 23:14:51

+0

一般來說,我發現當UIKit自動生成一個視圖應該看起來的樣子時,它看起來就像需要你的參數並將它們用作指導。相反,它會經歷一些奇怪的專有代碼,有時會給你奇怪的輸出。 有時候,如果沒有它們提供的默認值並從頭開始創建UITableViewCell,會更容易。 – 2010-07-26 19:54:05

回答

9

之所以看不到這些模式之間的差異UITableViewCell會自動調整其圖像視圖的大小以適合圖像的高寬比。內容模式僅在視圖的寬高比與圖像不同時才起作用。

在您的自定義UITableViewCell類中覆蓋layoutSubviews或自己創建圖像視圖(不要使用表格視圖單元提供的圖像視圖)。

+0

+1:沒有真正回答有關問題,但我在Google上發現了這個問題,它對我有幫助!我做了一個'UITableViewCell'的子類,它有一個'UIImageView',我自然而然就命名爲'imageView'。它正在跳起來,我無法弄清楚爲什麼。簡單地重命名它使得底層的'UITableViewCell'的'layoutSubviews'方法停止移動我的圖像。 – ArtOfWarfare 2014-08-18 01:29:53

35

我有同樣的問題。 似乎蘋果文檔有點欠缺。

我通過在互聯網上搜索找到答案。 http://www.iphonedevsdk.com/forum/iphone-sdk-development/2973-crop-image.html

基本上,

img1.contentMode = UIViewContentModeScaleAspectFill; 
img1.clipsToBounds = YES; 

如果你希望它是更看中的一點,看看這個帖子: UIImageView change Width and Height

+3

這不適用於tableview單元格。 – Ryan 2011-05-31 20:02:33

+3

三個小時過去了,'clipsToBounds'正是我一直在尋找的東西。謝謝。 – 2011-12-15 22:17:09

相關問題