【发布时间】:2014-06-12 04:28:05
【问题描述】:
我有一个UITextField 我需要更改Placeholder 字体和颜色,我在drawRect 方法中调用下面的方法,
-(void) setFontColorForPlaceHolder
{
for(id obj in [[self baseScrollView] subviews])
{
if([obj isKindOfClass:[UITextField class]])
{
[obj setAttributedPlaceholder:[[NSAttributedString alloc]initWithString:[obj placeholder] attributes:@{
NSFontAttributeName:kFutura_Medium_14 ,NSForegroundColorAttributeName:[UIColor redColor]
}]];
}
}
}
这里颜色正在改变,但字体没有设置。 setAttributedPlaceholder 有什么问题。
【问题讨论】:
-
有很多可用的链接试试这个stackoverflow.com/questions/18244790/…
-
setAttributedPlaceholder 在 ios6 中不工作
-
@MitsBhadeshiya :是的,你是对的,它在 iOS7 中运行良好。那么在 iOS6 中该怎么做呢?
-
你为什么从
drawRect:调用这个代码?这根本不合适。 -
设置
UITextField子视图的占位符不是绘制自定义视图的一部分。您应该在创建自定义视图时设置一次占位符,例如在其init...方法中。自定义视图的drawRect:应该只用于绘制视图的自定义内容(如果有)。如果您的自定义视图只有子视图而没有自定义绘图,您甚至不应该实现drawRect:方法。
标签: ios objective-c uitextfield