[Résolu] Créer ses propres component

Am_MeAm_Me Membre
septembre 2014 modifié dans API UIKit #1

Bonjour à  tous,


 


Voilà  en java j'ai appris à  créer mes propres canvas (c'est à  dire une vue avec ses propres formes : ellipse, rectangle, etc ...) et faire une application comme ça, et aussi customisez des boutons etc ... .


 


Et voilà  mon problème je voudrais faire la même sur iOS créer mon propre style de TextFied je vous donne un exemple :  TextFieldFlat ou même TextField ou même Button (Je ne fais aucunement de la pub, c'est juste à  titre de modèle pour exprimer ma "question")


 


Enfin voilà  en résumé comment dois-je procéder pour créer mes propres components en Obj-C


 


Si quelqu'un pouvait m'éclaircir sur ce sujet ça serait parfait ! :D


Mots clés:

Réponses

  • AliGatorAliGator Membre, Modérateur
    Bah tu crées une sous-classe de UITextField et tu te lances ;) En particulier tu customises les propriétés comme bon te semble, tu surcharges éventuellement quelques méthodes pour personnaliser ton look et/ou ton comportement... bref de la POO classique.
    Et pareil pour UIButton bien sûr.

    Par exemple pour un UITextField tu peux mettre sa propriété "borderStyle = UITextBorderStyleNone" (au lieu du "borderStyle = UITextBorderStyleRoundedRect" qu'ils ont par défaut) pour ne pas qu'il dessiner son cadre bord arrondi qu'on voit habituellement ; tu peux aussi avoir une image en fond du TextField avec la propriété background (quitte à  mettre une image resizable façon 9-patch), et ils ont même des propriétés leftView et rightView te permettant de mettre des vues personnalisées à  gauche et/ou à  droite (comme l'icône de l'enveloppe dans ton exemple de TextFieldFlat, ou la petite barre violette dans ton 2ème exemple sur le champ password, etc).

    bref tu as tout ce qu'il faut, suffit de lire la doc du composant et de personnaliser ce que tu souhaites.
  • Ok donc ça marche comme le java de ce côté la. En même temps c'est de l'objet. Merci


  • Am_MeAm_Me Membre
    septembre 2014 modifié #4

    Voilà  j'ai commencé à  me lancer dans la customisation.


    Je me confronte à  un problème mon texte de la UITextField se trouve collé à  l'image. Et sachant que mon image prend la totalité de la UIView : leftView


     


     


    voilà  le code de la classe 



    // Only override drawRect: if you perform custom drawing.
    // An empty implementation adversely affects performance during animation.
    - (void)drawRect:(CGRect)rect
    {
        // Drawing code
        self.borderStyle = UITextBorderStyleNone;
        
        //UIView *leftViewAlloc = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 15, self.frame.size.height)];
        UIView *leftViewAlloc = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 15, 15)];
        
        self.leftView = leftViewAlloc;
        
        [self.leftView setBackgroundColor:[UIColor colorWithPatternImage:[UIImage imageNamed:@new51.png]]];
        
        //self.leftView.backgroundColor = [UIColor redColor];
        self.leftViewMode = UITextFieldViewModeAlways;
    }

    Du coup comment puis-je faire en sorte que ça décale un peut.


     


     


     


    MAJ : Problème résolu : 


    Il suffit de créer une UIImageView et de la rajouter à  la 



    [view addSubView : maUIImageView]

     et ensuite de jouer sur les position etc ..


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