2010-01-23 14 views
43

UITableView'da her satırın sol tarafına bir UIImage yerleştirmek istiyorum. Bu oldukça standart ve doğrudan UIKit tarafından destekleniyor. Fakat (büyük) bir görüntü koymak her türlü çaresizliğe sebep olur, bu yüzden muhtemelen bu şeyi doğru bir şekilde ölçeklendirmem gerekir. Ancak, dokümanların hiçbiri standart olmayan kutu görünümlerini kullanarak bu görüntü için varsayılan bir boyut sağlamaz. Şaşırdım.UITImaViewCell'deki UIImage için varsayılan boyut nedir?

SO üzerindeki diğerleri 44 satırın varsayılan yüksekliğini gösterir (What is the default height of UITableViewCell?) 44x44 "varsayılan" görüntü boyutu mu?

Teşekkürler!

cevap

68

40x40

UITableViewCell's imageView fit to 40x40

... imageview ben "Önceden tanımlanmış Stiller Hücre Nesneler" inşa ile SDK 3.0 kullanıyorum ... 40x40 doldurulması yapmak gerekiyor

+2

Retinada tableviewcell'de görüntünün büyüklüğü ne olurdu? 80 * 80 mi? – Dee

+3

@Dee evet, Retina'da 80x80'e karşılık geliyor –

3

IOS 6.1 için Xcode 4.6.3 yapılıyım. UITableViewCell: 48x48 ve 128x128 piksellerinde imageView'a atanan 2 boyut görüntüyü denedim. Bu iOS Simülatörü'nde (iPad) çalıştırıldı.

UITableViewDelegate'de aşağıdaki satırı tableView:didSelectRowAtIndexPath:'a koyarım ve hemen ardından bir kesme noktası koyarım.

(lldb) po cell 
$0 = 0x0751a720 <UITableViewCell: 0x751a720; frame = (0 88; 180 44); text = 'widget'; autoresize = W; layer = <CALayer: 0x751a6f0>> 
(lldb) po cell.imageView 
$1 = 0x0751a1e0 <UIImageView: 0x751a1e0; frame = (0 0; 43 43); opaque = NO; userInteractionEnabled = NO; layer = <CALayer: 0x751a1b0>> 

tek sonuç varsayılan görüntü boyutu değil 40x40 olmasıdır bu kanıtlara dayanarak ulaşabildiğinden:

UITableViewCell *cell = [self.tableView cellForRowAtIndexPath:indexPath]; 

lldb, ben bu çıktıyı almak.