Séparateur dans un UIPickerView
John Barbier
Membre
Bonjour,
J'utilise souvent les UIPickerView pour saisir plusieurs choses en une seule fois comme dans la saisie de :
- "5 sacs" avec 2 components
- "500 g" avec 4 components
Dans l'exemple 2, pour améliorer la lisibilité, j'aimerai qu'il y ait un espace, entre les 3 premiers tambours(components) et le dernier tambour de l'unité de mesure.
D'où ma question :
Est-il possible de paramétrer l'écart entre les tambours(component) d'un UIPickerView ?
Aujourd'hui, pour générer cet écart, j'ajoute un tambour avec une seul row contenant un caractère blanc.
Je préfèrerais un écart.
Merci d'avance pour vos pistes.
J'utilise souvent les UIPickerView pour saisir plusieurs choses en une seule fois comme dans la saisie de :
- "5 sacs" avec 2 components
- "500 g" avec 4 components
Dans l'exemple 2, pour améliorer la lisibilité, j'aimerai qu'il y ait un espace, entre les 3 premiers tambours(components) et le dernier tambour de l'unité de mesure.
D'où ma question :
Est-il possible de paramétrer l'écart entre les tambours(component) d'un UIPickerView ?
Aujourd'hui, pour générer cet écart, j'ajoute un tambour avec une seul row contenant un caractère blanc.
Je préfèrerais un écart.
Merci d'avance pour vos pistes.
Connectez-vous ou Inscrivez-vous pour répondre.
Réponses
Si j'ai bien t'a question tu peux utiliser :
rowSizeForComponent:
Returns the size of a row for a component.[font=Courier, Consolas, monospace]
- (CGSize)rowSizeForComponent:(NSInteger)component[/font]
Parameters
component
A zero-indexed number identifying a component.
Return Value
The size of rows in the given component. This is generally the size required to display the largest string or view used as a row in the component.
Discussion
A picker view fetches the value of this property by calling the pickerView:widthForComponent: andpickerView:rowHeightForComponent: delegate methods, and caches it. The default value is (0, 0).
Availability
Je ne parle pas de la taille de la cellule comme la doc que tu me copie/colle, mais de l'écart entre les tambours...
Par moment suivant la quantité d'infos des components, même si on crée un tambour plus large, ou si on crée un tambour vide, il me semble que c'est moins lisible que si on écarte les tambours.
Cet écart est très possible avec des Framework de simulation iPhone en WebApp, comme iWebKit.
J'ai l'impression qu'il n'est pas possible de les décoller les uns des autres et qu'ils sont toujours collés
Pas grave si c'est pas possible en natif... j'espérais...
Sinon pour ta question moi je ferais tout simplement une UIView custom pour le component des unités, qui consisterait en une simple UIView contenant une image de bordure à gauche par exemple, et un label pour affiche le texte de la row du component.
Avec les méthodes de delegate de UIPickerView on peut facilement faire tout cela, et cela te permettrait de personnaliser le look de ta roue pour les unités, la rendre plus large, y dessiner dedans une séparation plus grande, etc, etc.
J'attendais pour essayer une implémentation de ce type, que je me confirme qu'aucune méthode n'existaient de base dans l'objet fournie par Apple, pour avoir un écartement différent de zéro pixel.
Je reste cependant persuadé que toute UIView (même contenant une image de bordure + etc) sera contenue dans une des roulettes du Picker, mais faut que j'essaye...
Je reviens ici, si ca provoque bien un écart entre les roulettes du picker et non pas un simple élargissement de la roulette dans laquelle les UIView ont été insérée ...
++ /smile.png' class='bbc_emoticon' alt=':)' />
Ben... si je veux simplement élargir un component, en ayant le look que je désire (couleur, police, image....etc), j'utilise viewForRow et widthForComponent ... ce que je fais déja dans toutes mes appli ...
Je pensais, peut-être, trouver une méthode pour instancier un écartement en pixel entre les roulettes.
Pas grave ca semble ne pas exister
Merci AliGator d'avoir répondu.