2009-06-23 7 views
2

J'ai un champ de compte à rebours qui affiche 60 comme espace réservé (gris). Quand je démarre la minuterie, elle devient noire et commence à compter. À la fin, j'invalide la minuterie et redéfinis le champ de compte à rebours à 60. Bien sûr, il est noir maintenant. Comment puis-je le récupérer dans le texte de l'espace réservé de 60 (ce qui signifie qu'il est gris) sans avoir recours à un hack avec NSAttributedString?Afficher le texte de l'espace client

Répondre

6

Définir le texte du champ TextField à zéro ou la chaîne vide, @ "". provoquera l'affichage du texte de l'espace réservé.

+0

Ce fut ma pensée originale, aussi, mais ça n'a pas marché – Walker

+0

Bizarre, selon les 10.5 docs: chaînes de substituable définies à l'aide setPlaceholderString: ou setPlaceholderAttributedString :, apparaissent maintenant dans la cellule de champ de texte si la chaîne réelle est nul ou @ "". Ils sont dessinés en gris sur la cellule et ne sont pas archivés dans le format nib "pré-10.2". – Erik

+0

Walker Argendeli: Quel était le code que vous utilisiez pour faire ça? –

10

Si vous utilisez la liaison "value" sur NSTextField, vous devez définir l'espace réservé Null pour la liaison au lieu de l'espace réservé de la cellule de texte. La chaîne vide (@ "") semble être considérée comme une valeur nulle pour l'espace réservé.

+0

Pouvez-vous ajouter quelques détails, s'il vous plaît. – Lexandr

+0

Êtes-vous en train de configurer des liaisons via Interface Builder? Si oui, qu'est-ce qui n'est pas clair? – natevw

+0

Oui, liaison "valeur" dans IB. Placeholder pour 'NSTextFieldCell' affiché quand le texte est nul ou une chaîne vide. La valeur tirée de la propriété liée à est «néant». Alors, pourquoi avons-nous besoin de "définir l'espace réservé Null pour la liaison au lieu de l'espace réservé de la cellule de texte"? Pourquoi l'espace réservé ne fonctionne tout simplement pas? Est-il documenté nulle part? Merci. – Lexandr

Questions connexes