Partage
  • Partager sur Facebook
  • Partager sur Twitter

[Swift 3 ] position placeholder ds textfield

pb pour centrer verticalement

    21 février 2017 à 17:15:08

    Bonjour à tous,

    Je m'en remets à vous car étant un petit peu maniaque au niveau design j'aimerais

    PARFAITEMENT centrer verticalement un placeholder dans un UITextfield et pour le coup un texte dans un UIButton.

    J'ai essayé d'aligner verticalement avec le control dans le storyboard cela fonctionne mais il y a un léger décalage vers le haut.

    J'aimerais pouvoir le baisser de quelques pixels afin que mon app soit visuellement au top.

    J'ai tenté en codant grâce à :

    @IBOutlet var nameField: UITextField!
    
    nameField.contentVerticalAlignment = UIControlContentVerticalAlignment.center

    même résultat que dans le storyboard.

    Comment reprendre le contrôle total du positionnement du placeholder au sein de mon textfield.

    Je vous remercie infiniment.

    Bonne journée

    -
    Edité par ThibautMonesma 22 février 2017 à 1:30:26

    • Partager sur Facebook
    • Partager sur Twitter
      21 février 2017 à 19:08:03

      Salut,

      Par défaut le texte d'un bouton est centré. Donc rien à faire. 

      Pour centrer le placeholder tu peux faire

      textfield.textAlignment = .center
      

      Je te déconseille fortement de le "baisser de quelques pixels". Ça marchera uniquement sur le device de test et tu auras un décalage sur les autres.

      Pour montrer du code, utilise le bouton </>

      • Partager sur Facebook
      • Partager sur Twitter
        22 février 2017 à 1:35:55

        Bonjour Geda,

        Merci pour ta réponse, le problème c'est que pour ce projet j'utilise uniquement un device pour une app qui tournera sur un iPad dans un bar (le device de test).

        Je peux donc me permettre de ne pas être "généraliste" dans mes alignements d'où ma recherche. Tu connais peut-être le moyen de gérer l'alignement vertical du placeholder en px ?

        Je te remercie

        Bonne soirée

        • Partager sur Facebook
        • Partager sur Twitter
          22 février 2017 à 10:50:21

          class MyTextfield : UITextField {
              override func placeholderRect(forBounds bounds: CGRect) -> CGRect {
                  return CGRect(x: 0, y: 30, width: 100, height: 100)
              }
          }
          
          let textfield = MyTextfield(frame: CGRect(x: 0, y: 0, width: 200, height: 200))
          textfield.backgroundColor = UIColor.white
          textfield.placeholder = "Hello World"

          • Partager sur Facebook
          • Partager sur Twitter

          [Swift 3 ] position placeholder ds textfield

          × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
          × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
          • Editeur
          • Markdown