iPhone UITextField - 更改占位符文本颜色我想更改我在UITextField控件中设置的占位符文本的颜色,使其变黑。我更喜欢这样做而不使用普通文本作为占位符,并且必须覆盖所有方法来模仿占位符的行为。我相信如果我重写这个方法:- (void)drawPlaceholderInRect:(CGRect)rect然后我应该能够做到这一点。但我不确定如何从此方法中访问实际的占位符对象。
3 回答
慕标琳琳
TA贡献1830条经验 获得超9个赞
自从在iOS 6中的UIViews中引入属性字符串以来,可以为占位符文本指定颜色,如下所示:
if ([textField respondsToSelector:@selector(setAttributedPlaceholder:)]) { UIColor *color = [UIColor blackColor]; textField.attributedPlaceholder = [[NSAttributedString alloc] initWithString:placeholderText attributes:@{NSForegroundColorAttributeName: color}];} else { NSLog(@"Cannot set placeholder text's color, because deployment target is earlier than iOS 6.0"); // TODO: Add fall-back code to set placeholder color.}
MMTTMM
TA贡献1869条经验 获得超4个赞
您可以这样覆盖drawPlaceholderInRect:(CGRect)rect
以手动呈现占位符文本:
- (void) drawPlaceholderInRect:(CGRect)rect { [[UIColor blueColor] setFill]; [[self placeholder] drawInRect:rect withFont:[UIFont systemFontOfSize:16]];}
- 3 回答
- 0 关注
- 613 浏览
添加回答
举报
0/150
提交
取消