我需要做的是提供一个带有progressBar的警报控制器。下载完成后,我需要转换为具有成功的辅助警报控制器!消息和“确定”按钮,以便用户退出此设置。我已经分别构建了警报,它们可以独立运行(进度条也可以正常工作...),但是使用以下代码:
我希望当progressBar达到100%时,第一个警报控制器将被关闭,而下一个警报将显示,但是没有任何反应这是我的代码:
-(void)settingUpToolsProgressPopUp {
UIAlertController* progressAlert = [UIAlertController alertControllerWithTitle:@"Setting up tools ..." message:@"This could take a few minutes. Make sure to keep your tools near your mobile device." preferredStyle:UIAlertControllerStyleAlert];
[self presentViewController:progressAlert animated:YES completion:^{
//Progress bar setup
UIProgressView *progressView;
progressView = [[UIProgressView alloc]initWithFrame:CGRectMake(8.0, 98.0, progressAlert.view.frame.size.width - 16, 100.0)];
[[progressView layer]setCornerRadius:50];
progressView.trackTintColor = [UIColor whiteColor];
progressView.progressTintColor = [UIColor blueColor];
progressNumerator = 1.0;
progressDenominator = 1.0;
currentProgress = (float)(progressNumerator/progressDenominator);
[progressView setProgress: currentProgress animated:YES];
[progressAlert.view addSubview:progressView];
if(currentProgress > 1.0){
[self settingUpToolsProgressPopUp];
} else if(currentProgress == 1.0){
[self dismissViewControllerAnimated:YES completion:nil];
[self successAlertPopUp];
}
}];
}
p.s。我知道这些值现在已经被硬编码了……但是无论我使用什么值,都不会发生过渡。我还没有访问更新值的权限,所以我现在不能使用其他值...但是我希望如果我使用100%的值,那么转换还是会发生吗?
有人能指出正确的方向吗?为什么这些代码不能在这些控制器之间进行转换?
非常感谢!
答案 0 :(得分:1)
您需要在successAlertPopUp
的完成处理程序中调用dismissViewControllerAnimated
方法:
[self dismissViewControllerAnimated:YES completion:^{
[self successAlertPopUp];
}];