0

現在、私はiPhoneアプリで作業しており、UIWebView(presentModelViewControllerに表示されるWebページ)を使用して画面にWebページを表示し、UIActivityIndi​​catorViewを追加してロードURLリクエストに表示しますが、UIActivityIndi​​catorViewは画面に表示されませんでした。 、 私を助けてください。

前もって感謝します

私はこれを試しました:

- (void)viewDidLoad
{
    [super viewDidLoad];

    activity = [[UIActivityIndicatorView alloc] initWithActivityIndicatorStyle:UIActivityIndicatorViewStyleGray];
    activity.frame=CGRectMake(140, 240, 40, 40);
    [self.view addSubview:activity]; 

    web = [[UIWebView alloc]initWithFrame:CGRectMake(0, 0, 320, 480)];
    web.delegate=self;
    web.backgroundColor=[UIColor clearColor];
    NSURL *url = [NSURL URLWithString:@"http://wrwr.rww.com/erqrrq"];
    NSURLRequest *req = [NSURLRequest requestWithURL:url];
    [web loadRequest:req];
    [self.view addSubview:web];
}

- (void)webViewDidFinishLoad:(UIWebView *)webView 
{
    [activity stopAnimating];  
}

- (void)webViewDidStartLoad:(UIWebView *)webView
{     
    [activity startAnimating];   
}
4

4 に答える 4

1

次のようにあなたの活動インジケータビューをあなたのwebViewに追加してください:-

 - (void)viewDidLoad
 {
[super viewDidLoad];

activity = [[UIActivityIndicatorView alloc] initWithActivityIndicatorStyle:UIActivityIndicatorViewStyleGray];
activity.frame=CGRectMake(140, 240, 40, 40);


web = [[UIWebView alloc]initWithFrame:CGRectMake(0, 0, 320, 480)];
web.delegate=self;
web.backgroundColor=[UIColor clearColor];
NSURL *url = [NSURL URLWithString:@"http://wrwr.rww.com/erqrrq"];
NSURLRequest *req = [NSURLRequest requestWithURL:url];
[web loadRequest:req];
[web addSubview:activity];
[self.view addSubview:web];
}

 - (void)webViewDidFinishLoad:(UIWebView *)webView 
{
[activity stopAnimating];  
}

- (void)webViewDidStartLoad:(UIWebView *)webView
{     
[activity startAnimating];   
}
于 2012-10-16T09:31:31.527 に答える
0

サブ ビューをスーパー ビューに追加する順序は重要です。UIActivityIndicatorViewが追加され、 がそれをオーバーレイUIWebViewします。最初に UIWebView を追加すると、つまり

[self.view addSubview:web];
[self.view addSubview:activity];

UIActivityIndicatorViewをオーバーレイしUIWebViewます。

于 2012-10-16T09:40:17.057 に答える
0

これを試して、

- (void)viewDidLoad
{
    [super viewDidLoad];

    web = [[UIWebView alloc]initWithFrame:CGRectMake(0, 0, 320, 480)];
    web.delegate=self;
    web.backgroundColor=[UIColor clearColor];
    NSURL *url = [NSURL URLWithString:@"http://wrwr.rww.com/erqrrq"];
    NSURLRequest *req = [NSURLRequest requestWithURL:url];
    [web loadRequest:req];
    [self.view addSubview:web];

    activity = [[UIActivityIndicatorView alloc] initWithActivityIndicatorStyle:UIActivityIndicatorViewStyleGray];
    activity.frame=CGRectMake(140, 240, 40, 40);
    [self.view addSubview:activity];
    [self.view bringSubviewToFront:activity];
}
于 2012-10-16T09:30:49.210 に答える
0

UIWebView を定義した後、UIActivityIndi​​catorView を定義します。

  - (void)viewDidLoad
    {
        [super viewDidLoad];


        web = [[UIWebView alloc]initWithFrame:CGRectMake(0, 0, 320, 480)];
        web.delegate=self;
        web.backgroundColor=[UIColor clearColor];
        NSURL *url = [NSURL URLWithString:@"http://wrwr.rww.com/erqrrq"];
        NSURLRequest *req = [NSURLRequest requestWithURL:url];
        [web loadRequest:req];
        [self.view addSubview:web];

     activity = [[UIActivityIndicatorView alloc] initWithActivityIndicatorStyle:UIActivityIndicatorViewStyleGray];
        activity.frame=CGRectMake(140, 240, 40, 40);
        [self.view addSubview:activity]; 
    }
于 2012-10-16T09:31:00.963 に答える