Я хочу выйти из своего приложения через некоторое время без активности пользователя. Я нашел пример, как это сделать. Когда таймер бездействия истекает, я хочу отобразить всплывающее окно с надписью «Выход из системы через XX секунд», где секунды будут обновляться - это заканчивается: 60, 59, 58 ... и затем они достигают 0. Я выхожу из системы пользователя (во всплывающем окне также будет кнопка «Отменить выход», которую, я думаю, легко реализовать). Я пытаюсь выяснить, есть ли простой способ создания такого всплывающего окна. -up - мне кажется довольно распространенная идея, но я пока ничего не нашел.
iOS отображает UIAlertView со временем работы
Ответы (2)
Добавьте два свойства в ваш приватный интерфейс:
@interface MyViewController ()
@property(nonatomic, strong) UIAlertView *logoutAlertView;
@property(nonatomic) NSUInteger logoutTimeRemaining;
@end
Теперь, когда вы показываете свое предупреждение, сделайте это следующим образом:
self.logoutAlertView = [[UIAlertView alloc] initWithTitle:@"Title"
message:@"Logging out in 60 seconds"
delegate:self
cancelButtonTitle:@"Dismiss"
otherButtonTitles:nil];
[self.logoutAlertView show];
self.logoutTimeRemaining = 60;
[NSTimer scheduledTimerWithTimeInterval:1
target:self
selector:@selector(updateAlert:)
userInfo:nil
repeats:YES];
Ваш метод updateAlert:
будет выглядеть так:
- (void)updateAlert:(NSTimer *)timer {
self.logoutTimeRemaining--;
self.logoutAlertView.message = [NSString stringWithFormat:@"Logging out in %d seconds", self.logoutTimeRemaining];
if (self.logoutTimeRemaining == 0) {
// actually log out
[timer invalidate];
}
}
person
Scott Berrevoets
schedule
13.03.2013
В этом случае рекомендуется реализовать пользовательский UIAlertView
и добавить к нему UILabel
с изменением значения таймера.
следуйте моему ответу в этой потоке, просто добавьте UILabel
вместо UIButton
для вашего случая.
person
nsgulliver
schedule
13.03.2013
Спасибо, у вас есть примеры, на которые вы могли бы мне сослаться?
- person PeterD; 13.03.2013
Я разместил ссылку на другую тему, на которую я недавно ответил, вы можете следить за ней, это не сложно реализовать то, что вы ищете. просто следуйте за нитью, и вы начнете.
- person nsgulliver; 13.03.2013
Спасибо, попробую и сообщу!
- person PeterD; 13.03.2013
Я использовал решение Скотта, которое точно соответствовало моим потребностям. Спасибо и за ваше
- person PeterD; 14.03.2013
нет проблем, да, решение Скотта должно быть быстрым и эффективным
- person nsgulliver; 14.03.2013