我想在一段时间没有用户活动的情况下从我的应用程序中注销。我找到了一个如何做到这一点的例子。当不活动计时器用完时,我想显示一个弹出窗口,说“在 XX 秒内注销”,其中秒数将更新 - 正在运行:60、59、58 ...然后它们达到 0 我会注销用户(弹出窗口也有一个“取消注销”按钮,我认为这很容易实现。)我试图弄清楚是否有一种简单的方法可以创建这样一个弹出窗口 - 在我看来一个相当普遍的想法,但到目前为止我找不到任何东西。
问问题
1221 次
2 回答
3
将两个属性添加到您的私有接口:
@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];
}
}
于 2013-03-13T16:46:06.110 回答
2
UIAlertView
在这种情况下 实现自定义是个好主意,并UILabel
在计时器更改其值的情况下添加
按照我在此线程上的回答,只需添加UILabel
而不是UIButton
针对您的情况。
于 2013-03-13T16:17:21.960 回答