ios 设置UITextField的placeholder大小颜色

需求:产品嫌弃placeholder的字体太大,颜色太明显,要求跟正常输入时的字体及颜色不同

方法:设置placeholder的大小和颜色,实际上是设置placeholder的label的大小和颜色,但是当设置完之后,placeholder的字体有点偏上了,所以设置一下属性。

   // 设置placeholder的字体大小
    [titleField setValue:[UIFont systemFontOfSize:13] forKeyPath:@"_placeholderLabel.font"];
    // 设置placeholder的字体颜色
    [titleField setValue:[UIColor redColor] forKeyPath:@"_placeholderLabel.textColor"];
    // placeholder居中显示
    NSMutableParagraphStyle *style = [titleField.defaultTextAttributes[NSParagraphStyleAttributeName] mutableCopy];
    style.minimumLineHeight = titleField.font.lineHeight - (titleField.font.lineHeight - [UIFont systemFontOfSize:13].lineHeight) / 2;
    titleField.attributedPlaceholder = [[NSAttributedString alloc] initWithString:@"请在此输入标题" attributes:@{NSParagraphStyleAttributeName : style}];

问题:嫌弃输入文字不居中,placeholder不居中
方法:重写!重写解决一切问题!

 -(CGRect)editingRectForBounds:(CGRect)bounds

 -(CGRect)placeholderRectForBounds:(CGRect)bounds

  

时间: 2024-11-07 22:56:02

ios 设置UITextField的placeholder大小颜色的相关文章

iOS修改UITextField的Placeholder字体颜色

修改UITextField的Placeholder字体颜色有一下两张方式可以达到效果. 第一种: UIColor *color = [UIColor whiteColor]; textfield.attributedPlaceholder = [[NSAttributedString alloc] initWithString:@"用户名" attributes:@{NSForegroundColorAttributeName: color}]; 第二种: [textfield set

iOS 设置UITextField的placeholder属性的颜色

NSDictionary *attrDict = @{NSForegroundColorAttributeName : [UIColor redColor]}; NSAttributedString *attrStr = [[NSAttributedString alloc] initWithString:textF.placeholder attributes:attrDict]; [textF setAttributedPlaceholder:attrStr]; http://www.jia

iOS利用storyboard修改UITextField的placeholder文字颜色

最近有个需求需要修改UITextField的placeholder文字颜色,在网上找发现有用代码修改的,但是考虑到更加优雅的实现,所以尝试着在storyboard中直接实现,结果竟然真的成功了(原谅我太小白),实现的位置如下: 具体步骤: 1.在User Defined Runtime Attributes中添加一个Key. 2.输入Key Path(这里我们输入_placeholderLabel.textColor). 3.选择Type,有很多种(这里我们选择Color) 4.设置Value(

[BS-19]更改UITextField的placeholder文字颜色的5种方法

更改UITextField的placeholder文字颜色的5种方法 想要达到的目标是:一个页面上有多个UITextField,当用户聚焦某textField时,该文本框的placeholder的文字会灰色变为白色,当文本框失去焦点时,placeholder颜色从白色再变回灰色. 1.放置UILabel 最简单最笨的方法是在每个textField里放一个UILabel来充当placeholder,当该textField聚焦时,让placeholder的文字会灰色变为白色,失焦后从白色再变回灰色.

iOS设置导航与其标题的颜色及字体大小和系统默认TabBar的相关设置与使用方法

第一步: //在info.plist中添加一个字段:view controller -base status bar 设置为NO://导航颜色[[UINavigationBar appearance] setBarTintColor:[UIColor XXXX]];[[UITableViewCell appearance] setBackgroundColor:[UIColor XXXX]]; //设置状态栏(信号区)白色[[UIApplication sharedApplication] se

IOS设置导航栏字体大小及颜色

方法一: 自定义视图,定义一个lable,相关属性在lable里设置 核心方法: self.navigationItem.titleView = titleLabel; 方法二:用系统方法直接设置 [self.navigationController.navigationBar setTitleTextAttributes:@{ NSFontAttributeName:[UIFont systemFontOfSize:20], NSForegroundColorAttributeName:Whi

设置UITextField占位符的颜色和字体

今天刚学了UITextField控件, 感觉在里面设置占位符非常好, 给用户提示信息, 于是就在想占位符的字体和颜色能不能改变呢? 下面是小编的一些简单的实现. 主要有两种方法: 方法1:利用富文本 @property (weak, nonatomic) IBOutlet UITextField *textField; NSDictionary *dic = @{NSForegroundColorAttributeName:[UIColor magentaColor], NSFontAttrib

iOS设置textView的placeholder

在iOS中,一般textfield可以显示一航文字,有placeholder(占位符,用来显示提示信息),textView可以显示多行文字但是却没有placeholder这项,下面的方法可以解决这个问题. @interface PersonSetViewController ()<UITextViewDelegate> //遵从代理协议 - (void)viewDidLoad { [super viewDidLoad]; //放在底部的两个用于显示placeholder的textView,将它

ios设置行间距和部分文本颜色

/** * 设置行间距和字间距 * * @param lineSpace 行间距 * @param kern 字间距 * * @return 富文本 */ -(NSMutableAttributedString *)getAttributedStringWithLineSpace:(NSString *) text lineSpace:(CGFloat)lineSpace kern:(CGFloat)kern { NSMutableParagraphStyle * paragraphStyle