我是Objective-C的新手,需要一些帮助。我的问题是,我有一个UITextField
子类,我想使用以下代码设置占位符字体:
- (void)drawPlaceholderInRect:(CGRect)rect {
[[self placeholder] drawInRect:rect withAttributes:@{NSFontAttributeName: [UIFont fontWithName:@"Georgia Belle" size:25],NSForegroundColorAttributeName:RGBA(174, 150, 108, 1)}]; }
我遇到了一个问题。当我在模拟器中选择iPad并编译程序时,一切都正常,但是当我选择视网膜设备时,就会出现下面的异常:
[__NSPlaceholderDictionary initWithObjects:forKeys:count:]: attempt to insert nil object from objects[0].
我想问的是:为什么它可以在非视网膜设备上运行,但在任何一种视网膜设备上都会抛出异常。
UITextField
?只需使用UITextField
的attributedPlaceholder
属性即可。 - rmaddy