2011-12-23 4 views
7

Come aumentare l'altezza della riga in un NSTableView in base al testo. L'altezza della riga deve essere aumentata quando c'è più testo e la riga deve ridursi quando il testo viene eliminato.Come aumentare l'altezza della riga in NSTableView in base al contenuto del testo?

Ho implementato la notifica textDidChange nella sottoclasse di NSTableView, ma non ho trovato alcun metodo che aumenti l'altezza della riga. setRowHeight di NSTableView aumenterà l'altezza di ogni riga nella vista tabella. Mi piacerebbe avere un'altezza di riga variabile. Posso avere qualsiasi codice di esempio o eventuali puntatori per realizzare questo.


ho trovato il seguente link

http://cocoadev.com/forums/discussion/1851/calculating-row-heights

ma io non sono in grado di trovare alcun esempio su questo !. Qualsiasi esempio su questo sarebbe di grande aiuto per me!


cercato di implementare il seguente deleagate

- (CGFloat)tableView:(NSTableView *)tableView heightOfRow:(NSInteger)row

calcolando la lunghezza della stringa, Ora sono in grado di aumentare l'altezza della riga, ma il NSTextFieldCell altezza è stesso. Come posso aumentare l'altezza del campo di testo quando l'altezza della riga cambia.

risposta

-9

È possibile aumentare l'altezza di tableviewrow nel metodo - (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath {}. Chiama [tableView reloadData] in textDidFinishEditing per ricaricare la tabella.

+3

Attenzione: la domanda riguardava 'NSTableView', questa risposta riguarda' UITableView'. Cocoa ≠ Cocoa Touch. –

+0

sì, parla del cacao, non del cacao, è diverso – fengd

1

Corbin Dunn gave a solution:

  • risolvere il tuo ridimensionamento automatico/coinstraints AutoLayout quindi la vista testo attacca al suo contenitore,
  • calcolare l'altezza della riga -tableView:heightOfRow: con l'aiuto di un NSTableCellView oggetto personalizzato.