Как управлять цветом текста NSTextField, когда он отображает маркер заполнителя?

Они полезны для "Быстрого Взлома", который является для включения разрыва на Вашем основном языке для быстрого (и потенциально грязный) фиксируют быстрее, чем это взяло бы для разработки того же на основном языке. Пример: простой сценарий в жемчуге, чтобы пройти файл крупного текста и заменить все экземпляры адреса электронной почты с другим тривиален с количеством времени, занятым в 10-минутном диапазоне. При взламывании консольного приложения вместе, чтобы сделать то же на основном языке взяло бы кратные числа этого.

Вы также обладаете преимуществом, что представление себя на дополнительные языки расширяет Ваши способности, и обучение приняться за решение проблем с различной точки зрения языков может быть столь же ценным как сам язык.

Наконец, языки сценариев очень полезны в области расширения. Возьмите LUA в качестве примера. Можно соединить болтом lua интерпретатор в приложение с очень мало служебным, и у Вас теперь есть способ создать богатую функциональность сценариев, которая может быть представлена конечным пользователям или изменена и распределена быстро, не требуя восстанавливания целого приложения. Это привыкло к большому эффекту во многих играх прежде всего World of Warcraft.

5
задан robottobor 16 November 2009 в 03:01
поделиться

2 ответа

Используйте строку с атрибутами, указывающую желаемый цвет, например:

NSDictionary *blueDict = [NSDictionary dictionaryWithObject: [NSColor blueColor]
                        forKey: NSForegroundColorAttributeName];
NSAttributedString *blueString = [[[NSAttributedString alloc] initWithString: @"test"
                                attributes: blueDict] autorelease];

Затем вы можете либо задайте строку с атрибутами заполнителя напрямую:

[[field cell] setPlaceholderAttributedString: blueString];

, либо сделайте это через привязку, например:

[field2 bind: @"value" toObject: [NSUserDefaults standardUserDefaults]
        withKeyPath: @"foo"
        options: [NSDictionary dictionaryWithObject: blueString forKey: NSNullPlaceholderBindingOption]];
15
ответ дан 18 December 2019 в 11:57
поделиться

вы можете попробовать создать своего собственного "владельца". Я имею в виду, что вы можете показывать метку над своим текстовым полем с любыми текстовыми шаблонами, которые вам нужны.

0
ответ дан 18 December 2019 в 11:57
поделиться