Добавьте тень (расположенный текстовый эффект) к маркировке Какао без ухудшающегося текста, представляющего качество

Давайте объясним стратегическую модель простой способ:

у Вас есть класс Car() с методом run(), таким образом, Вы используете его этот путь на псевдо языке:

mycar = new Car()
mycar.run()

Теперь, можно хотеть измениться run() поведение на лету, в то время как программа выполняется. Например, Вы могли бы хотеть моделировать моторный отказ или использование кнопки "повышения" в видеоигре.

существует несколько способов сделать это моделирование: использование условных операторов и переменной флага является одним путем. Стратегическая модель - другой: это делегирует поведение run() метод к другому классу:

Class Car()
{
    this.motor = new Motor(this) 

    // passing "this" is important for the motor so it knows what it is running

    method run()
    {
        this.motor.run()
    }

    method changeMotor(motor)
    {
        this.motor = motor 
    }

}

, Если Вы хотите изменить поведение автомобиля, можно просто изменить двигатель. (Легче в программе, чем в реальной жизни, правильно?;-))

очень полезно, если у Вас есть много сложных состояний: можно изменить и поддержать их намного более легко.

14
задан Kornel 18 November 2009 в 22:35
поделиться

2 ответа

Для этого есть встроенный способ:

[[yourTextField cell] setBackgroundStyle:NSBackgroundStyleRaised];
35
ответ дан 1 December 2019 в 06:53
поделиться

Это старый дешевый трюк: вы рисуете текст белым со смещением, а затем рисуете черный текст поверх него.

В рисовании текста есть крючок для теней. system, NSAttributedString NSShadowAttributeName. Но при тестировании выяснилось, что он убивает и субпиксельное сглаживание.

6
ответ дан 1 December 2019 в 06:53
поделиться
Другие вопросы по тегам:

Похожие вопросы: