Come montare UIImage
nella cella di UITableView
, UITableViewCell (?).Come ridimensionare l'immagine per adattarla alla cella UITableView?
Ti addSubview
-cell
o c'è un modo per ridimensionare cell.image
o UIImage
prima che venga assegnato a cell.image
?
voglio mantenere il default dimensione della cella (qualunque esso sia quando si init con un rettangolo zero) e desidera aggiungere un'icona come immagini su ogni voce. Le immagini sono leggermente più grandi delle dimensioni della cella (dimensione della riga della tabella).
Credo che il codice simile a questo (dalla parte superiore della mia testa):
UIImage * image = [[UIImage alloc] imageWithName:@"bart.jpg"];
cell = ... dequeue cell in UITableView data source (UITableViewController ...)
cell.text = @"bart";
cell.image = image;
Che cosa devo fare per ridimensionare l'immagine per adattarla al formato cellulare? Ho visto qualcosa di simile:
UIImageView * iview = [[UIImageView alloc] initWithImage:image];
iview.frame = CGRectMake(...); // or something similar
[cell.contentView addSubview:iview]
È possibile che questo aggiungerà immagine da cellulare e io in grado di calcolare le dimensioni per adattarsi, però:
- io non sono sicuro se c'è una migliore modo, non è troppo in alto per aggiungere
UIImageView
solo per ridimensionare lacell.image
? - Ora la mia etichetta (
cell.text
) deve essere spostato come viene oscurata da immagine, ho visto una soluzione in cui basta aggiungere il testo come etichetta:
Esempio:
UILabel * text = [[UILable alloc] init];
text.text = @"bart";
[cell.contentView addSubview:iview];
[cell.contentView addSubview:label];
// not sure if this will position the text next to the label
// edited original example had [cell addSubview:label], maybe that's the problem
Qualcuno potrebbe indicarmi la direzione corretta?
EDIT: Doh [cell.contentview addSubview:view]
non [cell addSubview:view]
forse dovrei guardare a questo:
- (UITableViewCell *)tableView:(UITableView *)tableView
cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
UITableViewCell *cell = ...;
CGRect frame = cell.contentView.bounds;
UILabel *myLabel = [[UILabel alloc] initWithFrame:frame];
myLabel.text = ...;
[cell.contentView addSubview:myLabel];
[myLabel release];
}
Nessun altro suggerimenti.? – stefanB