我有下面的代码,我在 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,它就会开始动画
Grrr...有人帮助我