为了账号安全,请及时绑定邮箱和手机立即绑定

iPhone UITextField - 更改占位符文本颜色

iPhone UITextField - 更改占位符文本颜色

iOS
狐的传说 2019-07-31 14:23:44
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.}


查看完整回答
反对 回复 2019-07-31
?
函数式编程

TA贡献1807条经验 获得超9个赞

容易和无痛,可能是一些容易的替代品。

_placeholderLabel.textColor

不建议生产,Apple可能会拒绝您的提交。


查看完整回答
反对 回复 2019-07-31
?
MMTTMM

TA贡献1869条经验 获得超4个赞

您可以这样覆盖drawPlaceholderInRect:(CGRect)rect以手动呈现占位符文本:

- (void) drawPlaceholderInRect:(CGRect)rect {
    [[UIColor blueColor] setFill];
    [[self placeholder] drawInRect:rect withFont:[UIFont systemFontOfSize:16]];}


查看完整回答
反对 回复 2019-07-31
  • 3 回答
  • 0 关注
  • 613 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信