私がProgressView
を追加する際には、UIWebView
をロードして終了している間、私はこれを使用しています。 問題は、UIWebViewが2回起動され、ProgressViewも開始されるため、ページのロードが完了すると1つのProgressViewのみが終了し、もう1回は終了しません。UIWebViewが2回起動しました -
ViewController.h
#import <UIKit/UIKit.h>
@interface DirectionViewController : UIViewController <UIWebViewDelegate>
@property (weak, nonatomic) IBOutlet UIWebView *directionWebView;
@end
それが二度呼んでいる理由ViewController.m
@interface ViewController()
@property UIColor *yellowColor;
@property MRProgressOverlayView *progressView;
@end
@implementation ViewController
- (void)viewDidLoad
{
[super viewDidLoad];
self.yellowColor =
[UIColor colorWithRed:244.0f/255.0f
green:208.0f/255.0f
blue:63.0f/255.0f
alpha:1.0f];
self.directionWebView.delegate = self;
NSString *urlMap = [NSString stringWithFormat:@"%@%f,%f&zoom=14", @"http://maps.google.com/maps?q=", self.coordLat, self.coordLong];
NSURL *url = [NSURL URLWithString:urlMap];
NSURLRequest *urlRequest = [NSURLRequest requestWithURL:url];
[self.directionWebView loadRequest:urlRequest];
}
-(BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType
{
NSLog(@"WebView start loading...");
self.progressView = [MRProgressOverlayView new];
self.progressView.mode = MRProgressOverlayViewModeIndeterminateSmall;
[self.view.window addSubview:self.progressView];
[self.progressView setTintColor:self.yellowColor];
[self.progressView setTitleLabelText:@"Loading ..."];
[self.progressView show:YES];
return YES;
}
-(void)webViewDidFinishLoad:(UIWebView *)webView
{
[self.progressView dismiss:YES];
}
@end
ありがとう/停止動作を開始する活動の指標を管理する@KDeogharkar –