Je cherche à déterminer la longueur d'une chaîne de caractères afin de pouvoir organiser dynamiquement certaines étiquettes. Sur iOS, j'utiliserais :CGSize size = [string sizeWithFont:font];
Est-il possible de faire cela avec l'API d'Appcelerator ou existe-t-il une autre manière de réaliser ce type de mise en page dynamique ?
Réponses
Trop de publicités?
SPYBUG96
Points
1539
Si vous créez des étiquettes avec une largeur 'auto', une fois qu'elles ont été construites, vous pouvez accéder à leur largeur réelle et positionner d'autres étiquettes en conséquence:
var window = Ti.UI.createWindow();
var label = Ti.UI.createLabel({
text: 'Ceci est une chaîne de test',
width: 'auto',
color: '#FFF',
left: 0,
top: 0
});
var labelWidth = label.width;
Ti.API.info(labelWidth);
// Positionner dynamiquement la deuxième étiquette
var secondLabel = Ti.UI.createLabel({
text: 'Deuxième étiquette',
width: 100,
left: labelWidth + 10,
top: 0,
color: '#FFF'
});
window.add(label);
window.add(secondLabel);
window.open();
Ce n'est pas très élégant mais cela fonctionne.