我有下面的代码,其中我正在加载一些链接到webview中。
- (void)viewDidLoad
{
mySpinner = [[UIActivityIndicatorView alloc] initWithActivityIndicatorStyle:UIActivityIndicatorViewStyleGray];
[self openWebPage:fileName];
[self.view addSubview:myWebView];
[self.view addSubview:mySpinner];
mySpinner.center = CGPointMake(self.view.frame.size.width / 2.0, 100);
}
-(void)openWebPage:(NSString*)address {
NSURL*url=[NSURL URLWithString:address];
NSURLRequest*request=[NSURLRequest requestWithURL:url];
myWebView.scalesPageToFit = NO;
[myWebView loadRequest:request];
}
- (void)webView:(UIWebView *)webView didFailLoadWithError:(NSError *)error {
UIAlertView *errorView = [[UIAlertView alloc] initWithTitle:@"Error!!!" message:@"Please make sure you are connected to 3G or Wi-Fi." delegate:nil cancelButtonTitle:@"Dismiss" otherButtonTitles:nil, nil];
[errorView show];
mySpinner.hidden = YES;
[mySpinner stopAnimating];
}
-(void)webViewDidStartLoad:(UIWebView *)webView2 {
NSLog(@"webViewDidStartLoad");
mySpinner.hidden = NO;
[mySpinner startAnimating];
NSLog(@"step 1");
NSDate *future = [NSDate dateWithTimeIntervalSinceNow: 2 ];
[NSThread sleepUntilDate:future];
NSLog(@"step 2");
}
-(void)webViewDidFinishLoad:(UIWebView *)webView2 {
NSLog(@"webViewDidFinishLoad");
mySpinner.hidden = YES;
[mySpinner stopAnimating];
}
我正在做的事情是在webViewDidStartLoad时,使用
[mySpinner startAnimating];
显示旋转器并开始动画,但它没有旋转。 它只停留在原地(没有旋转)。有什么想法出了什么问题吗?
编辑1
我有webview代理@interface WebDetailsViewController : UIViewController<UIWebViewDelegate>
此外,我添加了[NSThread sleepUntilDate:future];
,只是为了验证活动指示器视图是否正在动画。下面是我从NSLog中获取的内容。
2013-06-23 16:29:28.843 GulfLab[2048:907] webViewDidStartLoad
2013-06-23 16:29:28.845 GulfLab[2048:907] step 1
2013-06-23 16:29:30.847 GulfLab[2048:907] step 2
2013-06-23 16:29:31.836 GulfLab[2048:907] webViewDidFinishLoad
编辑2
问题出在下面这行代码...
[UIView beginAnimations: @"Showinfo"context: nil];
[UIView setAnimationCurve: UIViewAnimationCurveEaseInOut];
[UIView setAnimationDuration:0.75];
[self.navigationController pushViewController: secondView animated:NO];
[UIView setAnimationTransition:UIViewAnimationTransitionFlipFromRight forView:self.navigationController.view cache:NO];
[UIView commitAnimations];
以下是我所拥有的...
在第一个视图控制器中,我有一些按钮,当我单击这些按钮时,会跳转到第二个视图控制器,在那里我会根据所按下的按钮显示Web文件。
我的客户想要在转到第二个视图时添加一些效果,因此我添加了上面的代码。但由于这个原因,我遇到了活动问题。
你有什么想法需要改变吗?
进一步调查后,我发现问题出在这行代码...
[UIView setAnimationTransition:UIViewAnimationTransitionFlipFromRight forView:self.navigationController.view cache:NO];
但我需要这行代码,否则动画不会发生...
今天我还注意到,如果我触摸webview,它会开始动画
烦死了...有人能帮帮我吗?