如果 Web 视图加载时间超过 10 秒,我会尝试提醒用户。错误是万一互联网连接速度慢或没有互联网连接。问题是这段代码不起作用。
在第一种情况下,我尝试在 Web 视图开始加载时启动计时器。然后要么什么都不做就过期,或者在 10 秒后显示一个警报,表明 web 视图加载非常慢或根本不加载。
在第二种情况下,我尝试在 web 视图启动时启动计时器,并在 10 秒后显示警报或在计时器到期之前使计时器无效。
两者似乎都无法正常工作。
- (void)viewDidLoad
{
timer = [NSTimer scheduledTimerWithTimeInterval:0.1 target:self selector:@selector(webViewLoading) userInfo:nil repeats:YES];
webViewLoadTimer = [NSTimer scheduledTimerWithTimeInterval:10 target:self selector:@selector(showAlert) userInfo:nil repeats:NO];
[super viewDidLoad];
[self configureView];
}
-(void)showAlert
{
UIAlertView *alert = [[UIAlertView alloc]
initWithTitle: @"Warning"
message: @""
delegate: self
cancelButtonTitle:@"OK"
otherButtonTitles:nil, nil];
if (self.bgWebView.loading){[alert show];}
}
我尝试将计时器放在以下方法中,但无论设备是否连接到互联网,它都会每次发出警报。它似乎并没有无效。
-(void)webViewLoading
{
if (self.bgView.loading)
{
[self.avBackGround startAnimating];
webViewLoadTimer = [NSTimer scheduledTimerWithTimeInterval:10 target:self selector:@selector(showAlert) userInfo:nil repeats:NO];
}
else
{
[self.avBackGround stopAnimating];
[webViewLoadTimer invalidate];
}
if (self.icnWebView.loading)
{
[self.avIcon startAnimating];
}
else
{
[self.avIcon stopAnimating];
}
}
如果我错过了关于此的帖子,我深表歉意。我似乎无法把它放在一起。
谢谢你的帮助!