gpt4 book ai didi

objective-c - NSTextField 和 NSAttributedString 占位符的奇怪行为

转载 作者:行者123 更新时间:2023-12-03 17:23:02 47 4
gpt4 key购买 nike

我正在向 NSTextField 添加占位符:

NSTextField *textField = [[NSTextField alloc] initWithFrame:NSMakeRect(0.0, 0.0, 100.0, 30.0)];
NSAttributedString *string = [[NSAttributedString alloc] initWithString:@"Hello, World"];
[textField.cell setPlaceholderAttributedString:string];

这可行,但是当我将焦点放在文本字段时,占位符就会消失,即使 stringValue 为空也是如此。

如果我仅使用 setPlaceholderString: 方法设置占位符,则占位符将一直保留到 stringValue 不为空为止。

这只是 AppKit 方面的不良行为还是我遗漏了什么?

上面是一个简单的例子。我使用属性字符串,以便可以设置字体和颜色属性。

最佳答案

您是否可能为控件指定了绑定(bind)?如果是,您的占位符属性字符串将被绑定(bind)的空占位符覆盖。

然后应该可以以编程方式绑定(bind)控件并将属性字符串指定为空占位符的选项,如下所示:

[textField bind:@"value" toObject:self withKeyPath:@"textFieldValue" options: @{NSNullPlaceholderBindingOption:string}];

还有一件事。我发现它可以在 10.9 SDK 中运行。

关于objective-c - NSTextField 和 NSAttributedString 占位符的奇怪行为,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16045964/

47 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com