2010-01-23 3 views
43

Voglio mettere una UIImage sul lato sinistro di ogni riga in un UITableView. Questo è abbastanza standard ed è supportato direttamente da UIKit. Ma inserire un'immagine (grande) causa tutti i tipi di malessere, quindi presumibilmente dovrei ridimensionare la cosa correttamente. Ma nessuno dei documenti fornisce una dimensione predefinita per questa immagine usando le viste standard standard. Sono sorpreso.Qual è la dimensione predefinita per UIImage in UITableViewCell?

Altri su SO indicano che 44 è l'altezza predefinita di una riga (What is the default height of UITableViewCell?) 44x44 è la dimensione dell'immagine "predefinita"?

Grazie!

risposta

68

40x40

UITableViewCell's imageView fit to 40x40

Necessità di fare IMAGEVIEW compilato in 40x40 ... Sto usando SDK 3.0 con configurazione in "Cell Oggetti in stili predefiniti" ...

+2

In retina quale sarebbe la dimensione dell'immagine in tableviewcell? È 80 * 80? – Dee

+3

@Dee sì corrisponde 80 x 80 in Retina –

3

Sono su Xcode 4.6.3 building per iOS 6.1. Ho provato 2 dimensioni dell'immagine assegnata a imageView di UITableViewCell: 48x48 e 128x128 pixel. Questo è stato eseguito su iOS Simulator (iPad).

In UITableViewDelegate, ho inserito la riga seguente in tableView:didSelectRowAtIndexPath: e ho inserito un punto di interruzione subito dopo.

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

In lldb, ottengo questo output:

(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>> 

L'unica conclusione che posso raggiungere basano su questa evidenza è che la dimensione dell'immagine di default è non 40x40.