2016-07-15 100 views
7

Come dice il titolo, ho cercato di trovare un modo per determinare il numero di righe della componente di testo DOPO che è stato dato il testo. Guarda il mio esempio qui sotto.React Native: determina il numero di righe del componente di testo

<Text> 
    Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi semper ut ipsum in ultrices. Vivamus fringilla lacinia odio in accumsan. Proin sit amet pellentesque tortor. Nam mollis sit amet ligula id convallis. Etiam in semper diam. Cras id elit consectetur, interdum ante id, tincidunt nisi. Integer non elit placerat, dignissim nibh at, faucibus sem. Curabitur nec posuere turpis. Vivamus rhoncus nulla vitae mi imperdiet, elementum eleifend mi laoreet. Vestibulum molestie turpis non nibh elementum, sed ornare magna tristique. Aliquam erat volutpat. Phasellus volutpat mi vel tempor finibus. 
</Text> 

In fase di esecuzione, come è possibile determinare il numero di righe visualizzate da questo componente di testo. Questo numero varia a seconda del dispositivo (ad esempio iPhone 5 dovrà rendere più linee rispetto a iPhone 6+ in quanto ha una dimensione dello schermo più piccola). Ho controllato il codice sorgente per il componente Testo ma sembra che non ci sia nulla che sto cercando.

Sto usando React Native 0.24.

Qualche idea?

Cheers.

+0

Vorrei sapere anche la risposta a questo – digitaldavenyc

risposta

5

Sembra Reagire Native 0.24 implementa una funzione onLayout
http://facebook.github.io/react-native/docs/text.html#onlayout

onLayout funzione
Invocato sul monte e le modifiche di layout con
{nativeEvent: {Piano: {x, y, larghezza, altezza }}}

Quindi sembra che si possa passare una funzione di callback onLayout, ottenere l'altezza del componente Testo e quindi eseguire alcuni calcoli utilizzando il altezza della linea per raggiungere il numero di linee