我在按钮单击或 (IBAction) 中使用以下内容
- (IBAction)HistoryBtnid)sender {
self startReport];
dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{
//============================
so some long processing code
//============================
[self stopReport];
});
}
在哪里
-(void) startReport
{
alert = [[UIAlertView alloc] initWithTitle"Generating PDF" message" " delegate:self cancelButtonTitle:nil otherButtonTitles:nil];
UIActivityIndicatorView *progress= [[UIActivityIndicatorView alloc] initWithFrame:CGRectMake(125, 50, 30, 30)];
progress.activityIndicatorViewStyle = UIActivityIndicatorViewStyleWhiteLarge;
[alert addSubview:progress];
[alert setDelegate:self];
[progress startAnimating];
[alert show];
}
-(void) stopReport
{
NSLog(@" Stop Called ");
[self.alert dismissWithClickedButtonIndex:0 animated:NO];
self.alert = nil;
NSLog(@" Stop Called ");
}
问题是 AlertView 弹出窗口,我可以看到按钮工作,然后调用 StopReport 但 AlertView 停留在那里我怎样才能让 AlertView 消失
提前致谢
Best Answer-推荐答案 strong>
您必须只在主线程上使用 UI。
- (IBAction)HistoryBtnid)sender {
self startReport];
dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{
//============================
so some long processing code
//============================
dispatch_async(dispatch_get_main_queue(), ^{
[self stopReport];
});
});
}
关于iphone - UIAlertView 不关闭,我们在Stack Overflow上找到一个类似的问题:
https://stackoverflow.com/questions/11485990/
|