web-dev-qa-db-ja.com

Swift 2.0を使用してUITextfieldプレースホルダーの色とフォントサイズを変更するには?

UITextfieldplaceholderfontsize in Swift 2.0?

15
Xcode

#1。プログラムでプレースホルダーのテキストフィールドの色を設定します

    var myMutableStringTitle = NSMutableAttributedString()
    let Name  = "Enter Title" // PlaceHolderText

    myMutableStringTitle = NSMutableAttributedString(string:Name, attributes: [NSFontAttributeName:UIFont(name: "Georgia", size: 20.0)!]) // Font
    myMutableStringTitle.addAttribute(NSForegroundColorAttributeName, value: UIColor.redColor(), range:NSRange(location:0,length:Name.characters.count))    // Color
    txtTitle.attributedPlaceholder = myMutableStringTitle

[〜#〜] or [〜#〜]

txtTitle.attributedPlaceholder = NSAttributedString(string:"Enter Title", attributes: [NSForegroundColorAttributeName: yellowColor])

注:Nameは、textFieldのプレースホルダーです。

PlaceHolder TextFiled:

enter image description here

-------------------------------- OR = -------------------------------------

#2。実行時属性のプレースホルダーテキストフィールドの色を設定します

  1. テキストフィールドplaceHolderテキストEnter Title

    enter image description here

  2. テキストフィールドプロパティのIDインスペクターをクリックします。

    enter image description here

  3. ユーザー定義ランタイム属性、色属性の追加

    キーパス:_placeholderLabel.textColor

    タイプ:Color

    値:Your Color or RGB value

    enter image description here

    PlaceHolder TextFiled:

    enter image description here

67
Kirit Modi

Swiftに更新

Swift 3のUITextFieldプレースホルダーカラーを変更する場合は、次のコード行を使用します。

let yourTextFieldName = UITextField(frame: CGRect(x: 0, y: 0, width: 180, height: 21))
yourTextFieldName.attributedPlaceholder = NSAttributedString(string: "placeholder text", attributes: [NSForegroundColorAttributeName: UIColor.white])
12
Kiran jadhav

Swift 4ではなく4

NSForegroundColorAttributeName

つかいます

NSAttributedStringKey.foregroundColor

10

このサンプルコードで試すことができます

let  textFld = UITextField();
textFld.frame = CGRectMake(0,0, 200, 30)
textFld.center = self.view.center;
textFld.attributedPlaceholder = NSAttributedString(string:"Test Data for place holder", attributes:[NSForegroundColorAttributeName: UIColor.blueColor(),NSFontAttributeName :UIFont(name: "Arial", size: 10)!])
self.view.addSubview(textFld)
6
Jamil

Swift 4.2を使用する場合NSForegroundColorAttributeNameの代わりにNSAttributedString.Key.foregroundColorを使用します

それで

textField.attributedPlaceholder = NSAttributedString(string: "placeholder text", attributes: [NSAttributedString.Key.foregroundColor: UIColor.white])
4
Jin

テキストフィールドのプレースホルダーObjective C

NSString* str = @"Placeholder text...";                                    
NSRange range1 = [str rangeOfString:@"Placeholder text..."];


NSMutableAttributedString *attributedText = [[NSMutableAttributedString alloc] initWithString:str];
[attributedText setAttributes:@{
                                NSFontAttributeName:[UIFont fontWithName:customFont_NotoSans_Regular size:13.0]
                                }
                        range:range1];

[attributedText addAttribute:NSForegroundColorAttributeName value:[UIColor whiteColor] range:range1];

txtFld.font = [UIFont fontWithName:customFont_NotoSans_Regular size:13.0];
txtFld.keyboardType = UIKeyboardTypeDefault;
txtFld.attributedPlaceholder = attributedText;
3

UITextFieldのサブクラスを使用すると簡単です。

placeholderColorプロパティを追加して色を簡単に設定してから、オブザーバーが.placeholderを変更して色を適用します(.attributedPlaceholderプロパティを使用)

var placeholderColor: UIColor = .lightGray

override var placeholder: String? {
    didSet {
        let attributes = [ NSAttributedString.Key.foregroundColor: placeholderColor ]
        attributedPlaceholder = NSAttributedString(string: placeholder ?? "", attributes: attributes)
    }
}

色を適用するには、プレースホルダーテキストをプログラムで設定する必要があります。

1
Demosthese

テキストフィールドのプレースホルダーを設定します

let leftBarButtonItem = UIBarButtonItem.init(image: UIImage(named:"ic_nav-bar_back.png"), landscapeImagePhone: nil, style: .plain, target: viewController, action: #selector(viewController.buttonClick(_:)))
        leftBarButtonItem.imageInsets = UIEdgeInsets(top: 0, left: -15, bottom: 0, right: 0)
        leftBarButtonItem.tintColor = UIColor(hex: 0xED6E19)
        viewController.navigationItem.setLeftBarButton(leftBarButtonItem, animated: true)
0
CSE 1994