我不知道问题是否良好。所以我在开始申请时显示了一个uialertview 30秒。在这个uialertview中,有一个“ok”按钮,用户可以在其上单击并释放警报。如果用户没有单击此按钮30秒,警报将会释放。 这是代码..
UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Welcome"
message:@"Welcome!"
delegate:nil
cancelButtonTitle:@"OK"
otherButtonTitles:nil];
[alert setDelegate:self];
[alert show];
dispatch_time_t delay = dispatch_time(DISPATCH_TIME_NOW, NSEC_PER_SEC*30.0);
dispatch_after(delay, dispatch_get_main_queue(), ^{
[alert release];
}
- (void)alertView:(UIAlertView *)alertView didDismissWithButtonIndex:(NSInteger)buttonIndex {
}
所以我必须使用布尔值来实现控件,以检查用户是否点击了OK ... 你能帮我吗?我是目标c :)的新人,谢谢!
答案 0 :(得分:0)
显示您的提醒视图,如下所示: 假设isD是BOOL值(在.h文件中将其声明为类成员)
UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Welcome"
message:@"Welcome!"
delegate:self
cancelButtonTitle:@"OK"
otherButtonTitles:nil];
[alert setTag:1000];
[alert show];
isD = NO;
dispatch_time_t delay = dispatch_time(DISPATCH_TIME_NOW, NSEC_PER_SEC*5.0);
dispatch_after(delay, dispatch_get_main_queue(), ^{
if (!isD) {
[alert dismissWithClickedButtonIndex:0 animated:YES];
}
});
[alert release];
编写UIAlertViewDelegate方法
- (void)alertView:(UIAlertView *)alertView didDismissWithButtonIndex:(NSInteger)buttonIndex
{
if( alertView.tag == 1000 )
{
isD = YES;
}
}