2011-01-28 8 views
8

Ho provato quasi tutto, ma non riesco a spostare la proprietà cell.textLabel un po '. Ho allegato uno screenshot qui sotto e ho provato quasi tutto quello che ho trovato.Come posso cambiare il frame textLabel di una cella?

Ho provato a modificare direttamente la proprietà .frame, ho tentato di modificare se tramite "- (void) tableView: (UITableView *) tableView willDisplayCell" metodo ". Ho anche provato ad assegnare un'etichetta personalizzata. potrebbe spostare l'etichetta personalizzata, ma non sarebbe andato in linee separate, come la textLabel originale. ho solo bisogno di spostare l'etichetta linea più nella foto un po 'giù.

Ogni aiuto è apprezzato!

enter image description here

risposta

16

L'unico modo per farlo è utilizzare una sottoclasse UITableViewCell e sovrascrivere -layoutSubviews. Con questo metodo, ti consigliamo di chiamare [super layoutSubviews] e quindi apportare qualsiasi modifica al fotogramma che desideri all'etichetta.

1

Ho finito per aggiungere un \ n all'inizio della stringa. Purtroppo non ho potuto ottenere altro da lavorare.

21

esclusione layoutSubviews per il vostro UITableViewCell ...

- (void)layoutSubviews { 
    [super layoutSubviews]; 

    CGSize size = self.bounds.size; 
    CGRect frame = CGRectMake(4.0f, 4.0f, size.width, size.height); 
    self.textLabel.frame = frame; 
    self.textLabel.contentMode = UIViewContentModeScaleAspectFit; 
} 

o si può semplicemente fare il proprio oggetto UILabel, e aggiungerlo a cell.contentView come una visualizzazione secondaria.

UILabel *label = [[UILabel alloc] initWithFrame:CGRectMake(4, 4, 30, 30)]; 
[cell.contentView addSubview:label]; 
[label release]; 
0
- (void)layoutSubviews { 
    [super layoutSubviews]; 

    CGSize size = self.bounds.size; 
    CGRect frame = CGRectMake(4.0f, 4.0f, size.width, size.height); 
    self.textLabel.frame = frame; 

    self.textLabel.textAlignment = NSTextAlignmentCenter; 
} 
+1

Ci può spiegare che cosa il vostro codice fa, e perché risponde alla domanda? – Mel

Problemi correlati