2010-01-19 13 views
10

Sto usando una cella UITableViewCellStyleValue2 nel mio UITableView nella mia app e voglio che la colonna di sinistra (il testo blu - self.textField) sia molto più stretta del default. Ho provato a impostare self.textField.bounds dopo aver creato la cella ma questo non sembra funzionare - guardando nel debug sembra che i limiti non siano stati impostati.Come modificare la dimensione delle etichette su una cella UITableViewCellStyleValue2? (UITableView iPhone)

Posso modificare il tipo di cella predefinito in questo modo o devo semplicemente creare una sottoclasse di UITableViewCell?

Grazie.

risposta

18

È possibile sottoclasse UITableViewCell e utilizzare ancora UITableViewCellStyleValue2. È quindi possibile sovrascrivere il metodo layoutSubviews per modificare le dimensioni delle etichette:

- (void) layoutSubviews { 
    [super layoutSubviews]; // layouts the cell as UITableViewCellStyleValue2 would normally look like 

    // change frame of one or more labels 
    self.textLabel.frame = CGRectMake(...); 
    self.detailTextLabel.frame = CGRectMake(...);  
} 
+0

grazie felix. Funziona perfettamente .. :-) –

+2

p.s .: non dovresti fare altro che cambiare i frame qui. se vuoi cambiare font (izes) dovresti farlo quando crei/carichi la cella. – FelixLam

+0

sì - questo ha senso. Saluti! –

Problemi correlati