我正在使用 aUILocalNotification
来安排 a UIAlertView
,效果很好。但是,如果用户在一段时间后(例如 1 分钟)没有响应通知,我需要“做一些事情”。UIAlertView
另外,如果有其他方法可以做到这一点,我也不必使用。
问问题
1882 次
1 回答
0
显示 UIAlertView 后,您可以使用 NSTimer 启动计时器。当计时器结束时,您可以执行您想要的特定操作。当用户点击 UIAlertView 中的按钮之一时,您将使计时器无效。
快速示例:
@interface AppDelegate : UIResponder <UIApplicationDelegate, UIAlertViewDelegate> {
UIAlertView *alert;
NSTimer *timer;
}
@end
@implementation AppDelegate
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
// Override point for customization after application launch.
self.window.backgroundColor = [UIColor whiteColor];
[self.window makeKeyAndVisible];
alert = [[UIAlertView alloc] initWithTitle:@"Test" message:@"test" delegate:self cancelButtonTitle:@"OK" otherButtonTitles:nil, nil];
[alert show];
timer = [NSTimer timerWithTimeInterval:4 target:self selector:@selector(timerTick:) userInfo:nil repeats:NO];
[[NSRunLoop currentRunLoop] addTimer:timer forMode:NSDefaultRunLoopMode];
return YES;
}
- (void)timerTick:(NSTimer*)timer
{
[alert dismissWithClickedButtonIndex:-1 animated:YES];
}
- (void)alertViewCancel:(UIAlertView *)alertView
{
[timer invalidate];
}
@end
于 2012-10-21T14:59:38.493 回答