2010-07-29 84 views
3

我已經在IB中創建了一個UITableViewCell(320寬),該單元也是320寬。在UITableViewCell(或我的子類是正確的)中設置了一個背景圖像(320寬)後,我注意到這些單元格不在UI的右側(注意選定單元格上的藍色和上面的灰色) )有誰知道這是什麼原因造成的?UITableViewCell奇怪的寬度?

alt text

乾杯加里

+0

確保您的單元格的contentView的寬度也是正確的。 – 2010-07-29 17:12:55

回答

3

我被設置分隔符的風格和UITableView的所述分隔符的顏色,這需要1個像素關閉的分隔符的單元格的高度和由大約5個像素到抵消backgound對。如果我將進入單元格的背景圖像從320x65縮小到320x64,那麼它完全適合沒有偏移。

alt text

下面的兩個屏幕之間的唯一區別是:

LEFT:UITableView的分隔符= 「無」(的UITableViewCell背景已經無偏移)

RIGHT:UITableView的分隔符= 「單行」(UITableViewCell背景有偏移量)

DATA:

  • 細胞分辨率:320x65
  • 細胞看法:320x65
  • 單元格背景圖像分辨率:320x65

如果你想用你的手機背景圖片必須是320x64的分離,這將停止它橫向移動並正確顯示單元格。

乾杯加里

0

在我看來,你只是不設置您的背景圖像視圖的contentMode正確(例如,您將其設置爲aspectFit或東西)。你確定它偏移了5,而實際上沒有縮小5像素嗎?

例如,如果原始圖片是320x65,並且高度降低到64,則aspectFit將在保持相同寬高比的同時將其縮放到64/65 * 320 ~= 315

+0

它很難看到它隱藏在細胞邊緣。您在右側看到的藍色是您在選擇單元格時看到的全部亮點。如果縮放圖像,您可能會看到頂部或底部顯示藍色。當你關閉分離器時,它也很有趣,它神奇地開始工作,所以我的猜測是它的正確擬合。 – fuzzygoat 2010-07-30 10:48:03

+0

我剛剛通過在黑色單元格320x65上放置一個1像素的白色邊框來測試此效果,邊框上的分隔符完全接觸單元格的所有側面,除了右側,白色按照下面的藍色設置。所以高度是正確的,它的尺度是寬度。 – fuzzygoat 2010-07-30 11:04:07

+0

如果我正確地閱讀你,你有一個320x65的圖像,除了白色的邊框,全黑。如果這是真的,那麼隨着分隔符開啓,您將320x65圖像放入320x64視圖,由於縱橫比的原因,圖像會縮小至315x64。同樣,正確設置contentMode可以解決這個問題(在這種情況下,您希望scaleToFit)。 – 2010-07-30 14:57:07