私は自分のを少しカスタマイズしようとしています。NSTextFields
最初のステップは、をカスタマイズすることplaceholder
です。
プレースホルダーの色を変更したいのですが、この方法で試しています:
- (void)awakeFromNib {
// Color for placeholder in NSTextField - Color: #cdc9c1
NSColor *placeholderColor = [NSColor colorWithCalibratedRed:0.80f green:0.78f blue:0.75f alpha:1.0f];
NSDictionary *placeholderAttributeDict = [NSDictionary dictionaryWithObject:placeholderColor forKey:NSForegroundColorAttributeName];
NSAttributedString *emailPlaceholderString = [[NSAttributedString alloc] initWithString:@"Email" attributes:placeholderAttributeDict];
// NSAttributedString *passPlaceholderString = [[NSAttributedString alloc] initWithString:@"Password" attributes:placeholderAttributeDict];
// NSTextField Email attributes
[[self emailTextField] setDrawsBackground:NO];
[[self emailTextField] setBordered:NO];
[[[self emailTextField] cell] setPlaceholderAttributedString:emailPlaceholderString];
// NSTextField Password attributes
[[self passTextField] setDrawsBackground:NO];
[[self passTextField] setBordered:NO];
[[[self emailTextField] cell] setPlaceholderString:@"Password"];
}
ご覧のとおり、最初の最初のプレースホルダーは、色を指定しようとする場所NSTextField
によって確立されます。NSAttributedString
2 番目の 2 番目のプレースホルダーNSTextField
はNSString
.
アプリケーションを実行すると、2 番目のみが表示されますNSTextField
。最初のものはどこにも表示されません。
何が起こっている?
ありがとうございます。