2017-05-30 25 views
0

属性テキストプロパティを使用して、UITExtfieldにカスタムプレースホルダフォントを設定しています。しかし、私のプレースホルダーのテキストは、垂直に配置されていません。 Here is previewUITextFieldに縦属性​​のテキスト(カスタムプレースホルダフォント)を中央に配置するにはどうすればよいですか?

 let font = UIFont(name: Font.myFont.name, size: 15)! 
     let attributes = [ 
      NSForegroundColorAttributeName: UIColor.cadetGrey, 
      NSFontAttributeName: font 
     ] 

     exampleTextField.attributedPlaceholder = NSAttributedString(string: "Example Placeholder", 
                    attributes: attributes) 

私はまだ運属性ないし

let centeredParagraphStyle = NSMutableParagraphStyle() 
centeredParagraphStyle.alignment = .center 

を追加しようとしました。私はまた、このようにしてくださいすべての

+0

は '.alignment = .center'、それはのためのIE

exampleTextField.contentVerticalAlignment = UIControlContentVerticalAlignment.center exampleTextField.textAlignment = .center 

OR

これはそれだけにとどまるユーザーによるテキスト入力に対し中央にplaceholderを設定しますでは、デフォルトの位置です左/右/中央、水平ア​​ライメント、垂直アライメントではありません。 https://stackoverflow.com/questions/3665385/placeholder-text-not-centered-for-uitextfield-created-programmatically'contentVerticalAlignment' – Larme

答えて

0

で私UITextBoxが、運にSizeToFit()を使用してみました:

let centeredParagraphStyle = NSMutableParagraphStyle() 
centeredParagraphStyle.alignment = .center 

let attributes: [String : Any] = [NSParagraphStyleAttributeName: centeredParagraphStyle] 
+0

ありがとうございました、私はそれを試しました、行を入れる行を忘れてしまったそのスタイルを残りの属性と共に属性に入れます。まだ運がありません:( – ItsMeIvan

0

このセンターでは、ユーザーが両方placeholderとテキスト入力を設定しますです。

exampleTextField.textAlignment = .center 

verticallyhorizontallyの両方を中央に。 left align

let font = UIFont(name: Font.myFont.name, size: 15)! 

let centeredParagraphStyle = NSMutableParagraphStyle() 
centeredParagraphStyle.alignment = .center 

// add attribute of NSMutableParagraphStyle 
let attributes = [ 
      NSForegroundColorAttributeName: UIColor.gray, 
      NSFontAttributeName: font, 
      NSParagraphStyleAttributeName: centeredParagraphStyle 
     ] 

exampleTextField.attributedPlaceholder = NSAttributedString(string: "Example Placeholder", 
                    attributes: attributes) 
+0

私のプレースホルダーは垂直にセンタリングされている必要があります。プレースホルダーは真ん中にではなく、上の近くに表示されています – ItsMeIvan

+0

更新された回答を見る – Maddy

関連する問題