Вопрос

Я создаю условно-бесплатное приложение Cocoa и хотел знать, как лучше всего включить «экран ворчания».По сути, перед тем, как появится главное окно приложения, я хочу иметь окно с текстом, кнопку регистрации и кнопку «Еще нет» (которая сначала отключена).На кнопке «Еще нет» будет таймер, поэтому заголовок кнопки будет меняться в зависимости от количества секунд, например:

"Пока нет ... 10" "еще не ... 9"

и т. д.и по истечении 10 секунд кнопка «Еще нет» станет активной, что позволит пользователю продолжить и использовать приложение.Как лучше всего сделать что-то подобное?Могу ли я использовать NSAlert?

Я видел, как это хорошо сделано в Pacifist, любая помощь будет оценена по достоинству.Спасибо

Это было полезно?

Решение

Лично я бы хотел, чтобы ваше условно-бесплатное приложение сделало это только через несколько дней, чтобы они оценили его в течение пары дней «без ворчания»…Но это только мое мнение!Попробуй это:

добавьте их в интерфейс:

IBOutlet NSTextField *countdownLabel;
IBOutlet NSButton *continueButton;
NSTimer *timer;

.м:

- (id)init{
    self = [super init];
    [countdownLabel setStringValue:[NSString stringWithFormat:@"%d",10]];
    timer = [NSTimer scheduledTimerWithTimeInterval:1 target:self  selector:@selector(nagTimer:) userInfo:nil repeats:YES];
    return self;
}


- (void)nagTimer:(id)sender{
    if ([countdownLabel intValue] == 0){
        [timer invalidate];
        [continueButton setEnabled:YES];
        return;
    }
    [countdownLabel setStringValue:[NSString stringWithFormat:@"%d",[countdownLabel intValue] - 1]];
}

Что-то вроде этого сработает.Удачи!

Другие советы

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

И я не имею в виду раздражение, например, «это даст мне повод купить ненужную версию вашего программного обеспечения».Я имею в виду раздражение, например: «Я никогда больше не прикоснусь к этому приложению».

Я уже создавал программное обеспечение для бухгалтеров, в котором применялся аналогичный подход, и когда я дал им отдельную версию, в которой в отчетах просто было написано «Оценочная копия», они были очень довольны.

В ходе опроса они дали понять, что их устраивает такое ограничение или даже немного урезанная функциональность (например, всего 10 клиентских файлов вместо неограниченного количества), но ворчащий экран вначале замедлял их работу, и это производило очень плохое впечатление о программное обеспечение.

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

Это базовый маркетинг 101 в сфере ресторанов быстрого питания, предлагающих regular и large размеры, а не small и large :-)

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

Важно то, как вы это придадите, а не фактический результат.

Мне они не нравятся, но вот как это сделать:

Создайте представление оповещений, а также NSTimer.Затем, когда таймер достигнет x секунд, установите кнопку в активное состояние (не совсем понимаю, как это сделать, но это не должно быть слишком сложно).

Некоторые приложения Mac используют незаметное сообщение «Осталось X дней» в правом верхнем углу главного окна.Наиболее яркими примерами являются:

Здесь вы можете увидеть этот метод в действии: Скриншот кода (посмотрите вверху справа)

Такой подход уводит потенциального покупателя с пути, но также напоминает ему о покупке вашего продукта.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top