平日里设置placeholder并没有注意过,近日发现设置的placeholder颜色没了,查证后才发现,并不是方法无效了,而是位置关系:
[textField setValue:[UIColor orangeColor] forKeyPath:@"_placeholderLabel.textColor"]; textField.placeholder = @"请输入账户名";
我这么写是无效的,但是这两句代码位置交换下就好了,一个大大的懵逼,平时写的时候请告诉我有谁注意过这个问题?很多地方并没有注意什么顺序吧?希望大家在写代码的时候给定了这个属性买来设置这个属性相关的颜色,字体大小,以防止这种情况发生,另外再提供一种设置placeholder颜色的方法:
NSMutableDictionary *dict = [NSMutableDictionary dictionary]; dict[NSForegroundColorAttributeName] = [UIColor colorWithRed:0.95f green:0.95f blue:0.95f alpha:1.00f]; NSAttributedString *attribute = [[NSAttributedString alloc] initWithString:@"请输入账户名" attributes:dict]; [textField setAttributedPlaceholder:attribute];