以下のコードで、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
私はウェブビューデリゲートを持っています@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];
以下は私が持っているものです...
最初のView Controllerの1つにボタンがあり、それらのボタンをクリックすると2番目のView Controllerが表示され、押されたボタンに基づいてWebファイルが表示されます。
私のクライアントは、2番目のビューに来るときに何らかの効果を望んでいました。そのために、上記のコードを追加しました。しかし、そのせいで、私は活動の問題に直面しています。
どのような変更を行う必要があるか考えていますか?
さらに調査したところ、問題はこの行にあることがわかりました...
[UIView setAnimationTransition:UIViewAnimationTransitionFlipFromRight forView:self.navigationController.view cache:NO];
しかし、そうでなければアニメーションが発生しないため、この行が必要です...
また、今日、webviewに触れるとアニメーションが始まることに気付きました
うーん...誰か助けて