UITextfield
placeholder
&fontsize
in Swift 2.0?
#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:
-------------------------------- OR = -------------------------------------
#2。実行時属性のプレースホルダーテキストフィールドの色を設定します
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])
Swift 4ではなく4
NSForegroundColorAttributeName
つかいます
NSAttributedStringKey.foregroundColor
このサンプルコードで試すことができます
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)
Swift 4.2を使用する場合NSForegroundColorAttributeNameの代わりにNSAttributedString.Key.foregroundColorを使用します
それで
textField.attributedPlaceholder = NSAttributedString(string: "placeholder text", attributes: [NSAttributedString.Key.foregroundColor: UIColor.white])
テキストフィールドのプレースホルダー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;
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)
}
}
色を適用するには、プレースホルダーテキストをプログラムで設定する必要があります。
テキストフィールドのプレースホルダーを設定します
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)