iOS сброс / перезапуск приложения из UIButton - PullRequest
2 голосов
/ 14 сентября 2011

У меня есть простое приложение для iOS, которое я разрабатываю и которое нужно «перезапустить» или «сбросить» после того, как пользователь выполнит определенное сенсорное действие и появится кнопка «Сброс». Рабочий процесс приложения выглядит примерно так:

  1. Пользователь держит определенную область экрана
  2. Пользователь отпускает экран и быстро касается другой области
  3. Время, необходимое им, чтобы отпустить и коснуться следующей области, отображается в UILabel.
  4. Появляется кнопка сброса, в которой пользователь нажимает, чтобы повторить попытку.

Шаги 1-3 работают отлично, но в настоящее время единственный способ «перезагрузить» приложение - это выйти с помощью кнопки «Домой», открыть меню многозадачности, закрыть его вручную и снова открыть.

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

Спасибо!

Ответы [ 4 ]

1 голос
/ 15 сентября 2011

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

Так как яПредполагая, что ваш контроллер представления находится там, где происходит большая часть вашего «установочного» кода для вашего приложения, это должно эффективно сбросить приложение без необходимости писать много дополнительного кода.Кроме того, наличие возможности создания нового экземпляра вашего класса контроллера представления является своего рода точкой с самого начала.

0 голосов
/ 15 сентября 2011

Вы можете перевести ваше приложение в течение заданного интервала времени.

+ (void)sleepForTimeInterval:(NSTimeInterval)ti

или

+ (void)sleepUntilDate:(NSDate *)aDate

Метод работает для вас

См. Документацию класса NSThread

0 голосов
/ 15 сентября 2011

Вам, вероятно, следует просто создать метод, который сбрасывает все ваши переменные и затем вызывает методы, которые начинают шаги 1-3. Чтобы кнопка появилась, сделайте IBOutlet UIButton для присоединения к кнопке сброса, а затем скройте ее в viewWillAppear следующим образом:

[myButton setHidden:true];

Чтобы потом показать кнопку позже, используйте ту же кнопку, но установите значение false вместо true.

0 голосов
/ 14 сентября 2011

Вы можете убить приложение, позвонив на abort(). Однако нет способа запустить его после того, как вы его убили.

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

...