Lier un numero de téléphone à  un label

gtjuanpablogtjuanpablo Membre
avril 2009 modifié dans API UIKit #1
Bonjour a tous,

Je developpement une app iphone qui affiche dans un label un numero de telephone. J'aimerais que automatiquement le numéro soit linker et propose a l'utilisateur d'ajouter a ses contacts.

Ceci est possible avec une webview mais pas un label. pouvez-vous m'aider?

merci d'avance

Réponses

  • apocaalypsoapocaalypso Membre
    16:26 modifié #2
    Peut-être en sélectionnant le label et en cochant "User Interaction Enabled" ?
  • AliGatorAliGator Membre, Modérateur
    16:26 modifié #3
    Bah tu sous-classe UILabel, tu intercepte les touchEvents dedans, et dans le touchEnded par exemple, tu lances ton lien type "tel://0612345678" pour appeler le numéro en question. Non c'est pas ça que tu veux ?
  • Philippe49Philippe49 Membre
    16:26 modifié #4
    Bienvenu !

    As-tu parcouru la doc ?


    Merci de choisir un titre plus proche de la question.
  • gtjuanpablogtjuanpablo Membre
    16:26 modifié #5
    en fait, j'aimerais reproduire ce qu'on peut trouver dans l'app SMS, qui link automatiquement chaque numéro contenu dans les sms.

    Comment puis-je faire?

    alligator, je suis débutant peux tu m'expliquer ta méthode?

    merci
  • AliGatorAliGator Membre, Modérateur
    16:26 modifié #6
    Mais qu'est ce que tu veux faire des liens ensuite sur l'iPhone ? Que quand on tape sur le numéro transformé en lien ça appelle ledit numéro ? Ou que ça fasse autre chose comme proposer de l'enregistrer...?

    Ta demande n'est pas très claire dans mon esprit, mais après même si ce n'est que pour appeler le numéro en question, c'est jouable sans problème, mais pas forcément la première chose à  faire pour un débutant ^^ Si je comprend bien ton numéro auquel tu veux rajouter un lien est en plein milieu d'un texte qui lui n'est pas lié à  un lien...

    Or autant sous MacOSX tu peux utiliser un NSTextField et lui mettre un NSAttributedString comme texte dedans, qui va décrire ta chaà®ne avec tes attributs (comme une couleur pour certains mots, une mise en gras pour d'autres... et l'ajour d'un hyperlien pour d'autres, justement ce qui t'intéresse)... autant sous iPhone, il existe bien CFAttributedString dans CoreFoundation, mais aucune classe du UIKit ne permettant d'afficher une CFAttributedString comme du texte formatté.

    Du coup, c'est une autre paire de manches... il faut que tu fasses le dessin de ta vue toi-même à  la limite, une UIView qui affiche le texte, en mettant en bleu les parties que tu veux rendre cliquables, et en détectant les touch sur cette UIView, pour faire ensuite ce que tu veux selon la position dudit touch... En tout cas à  ma connaissance il n'y a rien de tout fait.

    Donc c'est faisable... mais loin d'être direct, il faut que tu te fasses ta propre classe qui va dessiner et gérer tout ça. Sans doute un peu rude si tu n'es que débutant, par contre.

    Ou alors si tu sais que tout le contenu de ton UILabel doit réagir au clic, et pas juste une partie, alors là  ça va c'est jouable vachement plus facilement. En implémentant les méthodes touchBegan/touchMoved/touchEnded justement. Mais si tu ne vois pas de quoi je cause en parlant de ces méthodes, vas d'abord lire les tutos de Philippe49 (genre celui qui dessine un carré à  l'écran en fonction des touches que tu fais sur ton écran iPhone) ça te permettra déjà  d'appréhender cette partie.
  • gtjuanpablogtjuanpablo Membre
    avril 2009 modifié #7
    voila, lors du click sur le label j'aimerais proposer d'enregistrer le numéro dans le répertoire de l'utilisateur, c'est possible?
  • AliGatorAliGator Membre, Modérateur
    16:26 modifié #8
    Bah oui à  priori c'est possible : étape 1 récupérer le numéro et l'afficher dans un NSLog, et une fois que tu as fait ça, étape 2 lire la doc sur AddressBook et son framework (classes ABMachin) pour voir comment rajouter un contact à  ton carnet d'adresses, étape 3 prévoir l'interface qui va bien pour proposer ça à  l'utilisateur.

    Je te laisse lire les docs, d'une part parce que c'est formatteur, d'autre part parce que c'est comme ça que tu vas apprendre à  faire par toi même, et enfin surtout parce que je n'ai pas le temps :) (j'ai une réponse à  appel d'offre à  faire ;))
    Mais comme je l'ai dit, si tu es pur débutant, c'est pas forcément la première chose par laquelle commencer... Qui va piano va sano
  • gtjuanpablogtjuanpablo Membre
    16:26 modifié #9
    merci je regarde la doc
Connectez-vous ou Inscrivez-vous pour répondre.