Afficher du texte dans une page d'une application pour faire un article

filiplarlibefiliplarlibe Membre
janvier 2017 modifié dans Objective-C, Swift, C, C++ #1
Bonjour à  tous,


Je suis nouveau sur ce forum et je suis débutant en objective c et en développement sous Xcode.

J'ai suivi quelques vidéos sur le net pour apprendre et je suis seulement en train d'apprendre les bases.


Je me pose une question pour laquelle je n'ai pas trouvé de réponse por le moment.

Désolé pour mes questions, elles sont certainement très limpides pour des développeurs confirmés.


Je voudrais par exemple afficher des articles sur une page de l'application que je voudrais créer.

Quel composant doit on utiliser pour afficher des paragraphes complets de texte?

Est ce qu'il est possible d'aller chercher ce texte dans une base de donnée et ensuite le mettre dans un composant et le mettre en forme?


Merci d'avance pour votre aide.

Bonne soirée.

Réponses

  • NSAttributedString

  • Joanna CarterJoanna Carter Membre, Modérateur
    UITextView ou NSTextView


  • UITextView ou NSTextView




    UITextView ou NSTextView pour afficher un NSAttributedString.

  • Joanna CarterJoanna Carter Membre, Modérateur
    janvier 2017 modifié #5


    UITextView ou NSTextView pour afficher un NSAttributedString.




    à‰videmment :) On partage la facture ;)
  • Yes. Tu factures en France ou as-tu gardé une structure administrative en Angleterre pour le travail ?

  • Joanna CarterJoanna Carter Membre, Modérateur
    janvier 2017 modifié #7
    Non, je n'ai pas de structure anglaise ; mon entreprise, c'est moi, résidante et imposable en France.
  • C'est vraiment le grand saut alors, toi la future ex-européenne ..

  • Joanna CarterJoanna Carter Membre, Modérateur
    Quoique le Royaume-Uni sort l'UE, moi je resterai européenne. Je suis pas seule, même l'à‰cosse a menacé quitter le Royaume-Uni.
  • Bonjour,


    Merci pour vos réponses.

    Je vais regarder comment utiliser tout ca.


    Bonne journée.
  • CéroceCéroce Membre, Modérateur

    Je suis nouveau sur ce forum et je suis débutant en objective c

    Passe tout de suite à  Swift. Je code encore beaucoup en ObjC pour le boulot, mais crois-moi, c'est le passé.

    Quel composant doit on utiliser pour afficher des paragraphes complets de texte?

    Les réponses de mes camarades sont valables. (On peut partir sur Core Text, aussi, soyons fous).
    Mais moi, je conseillerais UIWebView, parce qu'avoir une composition du texte même un peu complexe autrement exige beaucoup de code.

    Est ce qu'il est possible d'aller chercher ce texte dans une base de donnée et ensuite le mettre dans un composant et le mettre en forme?

    Oui. Avec une UIWebView, tu lis directement le HTML, ou alors tu le génères.
  • Joanna CarterJoanna Carter Membre, Modérateur


    Passe tout de suite à  Swift. Je code encore beaucoup en ObjC pour le boulot, mais crois-moi, c'est le passé.




     


    Peut-être il faut se familiariser avec Objective-C pour pouvoir lire les docs sur quelques frameworks tierces mais, comme dit Céroce, apprendre Swift vaux mieux.

  • Tu peux aussi générer un NSAttributedString à  partir d'un fichier RTF.


  • Bonjour à  tous,


     




    Passe tout de suite à  Swift. Je code encore beaucoup en ObjC pour le boulot, mais crois-moi, c'est le passé.


    Les réponses de mes camarades sont valables. (On peut partir sur Core Text, aussi, soyons fous).

    Mais moi, je conseillerais UIWebView, parce qu'avoir une composition du texte même un peu complexe autrement exige beaucoup de code.


    Oui. Avec une UIWebView, tu lis directement le HTML, ou alors tu le génères.




     




    Peut-être il faut se familiariser avec Objective-C pour pouvoir lire les docs sur quelques frameworks tierces mais, comme dit Céroce, apprendre Swift vaux mieux.




     


     


    Et ceci pourrait t'aider à  pas trop perdre le bénéfice de ton travail


     


    https://objectivec2swift.com/#/home/converter/


  • Bonjour à  tous,


     


    Merci pour vos réponses. 


    Je vais essayer d'apprendre par la suite le swift comme vous me le conseillez. 


     


    Par contre j'ai une question encore sur les données à  afficher dans une page de l'appli en objective c. 


     


    Comme je vous l'avez déjà  dit dans mon premier post, je voudrais savoir comment récupérer des données d'une base de données (ça j'ai réussi à  le faire en créant un script PHP qui me renvoie du Json). Par contre ces données sont stockées au format HTML. 


     


    Par exemple, j'ai du texte avec des morceaux de phrases en gras, soulignés en taille plus importante et même dans d'autres langues (par ex en arabe...)


    Tout ce texte est stocké dans un seul champ. 


    Je voudrais récupérer ce champ et voir si je peux l'afficher tel quel dans un composant d'une page de l'appli 


     


    Est ce possible et si oui comment faire et quoi utiliser ?


     


    Merci d'avance pour vos réponses.


  • LarmeLarme Membre
    janvier 2017 modifié #16

    Il existe un méthode sur NSAttributedString, initWithData:documentsAttributes:options (ou un truc du genre).


    Il faut que tu convertisses ton NSString (qui contient les balises HTML) en NSData et le lui passe. Ensuite, il faut que tu spécifies que c'est du HTML, et c'est bon.


    Note que toutes les balises HTML ne sont pas prises en compte, mais la plupart des basiques le sont.


    Après, tu mets cet attributed string dans une UITextView ou un UILabel.


     


    Un lien SO: http://stackoverflow.com/questions/4217820/convert-html-to-nsattributedstring-in-ios(y'a pleins de questions sur le net dessus).


  • Regarde cette page :


     


    https://developer.apple.com/reference/foundation/nsattributedstring


     


    spécialement les différentes méthodes init() de nsAttributedString, dont l'une permet d'utiliser de l'HTLM

  • Bonjour,


     


    Merci pour vos réponses. 


    j'ai réussi en utilisant NSAttributedString et ça fonctionne très bien. 



    NSAttributedString *attributedString = [[NSAttributedString alloc]
    initWithData: [ligne dataUsingEncoding:NSUnicodeStringEncoding]
    options: @{ NSDocumentTypeDocumentAttribute: NSHTMLTextDocumentType }
    documentAttributes: nil
    error: nil
    ];

    self.ArticleView.attributedText = attributedString;

    merci encore pour votre aide précieuse. 


     


    Bonne journée.


Connectez-vous ou Inscrivez-vous pour répondre.