-1

編集:私はそれを解決しました

私はそれを解決しました。私が変更され:

@property(nonatomic,retain) UIActivityIndicatorView *activityIndicator;

@property(nonatomic,retain) IBOutlet UIActivityIndicatorView *activityIndicator;

私の質問:

シンプルなUIWebViewアプリを作成していますが、ウェブページの読み込みが完了したらインジケーターの回転を停止したいと思います。ストーリーボードインターフェイスで[完了したら非表示]をオンにし、インジケーターをビューコントローラー(activityIndi​​cator)に接続しました。それでも止まらない。私のヘッダーファイルには、次のものがあります。

@interface ViewController : UIViewController<UIWebViewDelegate>{
IBOutlet UIBarButtonItem *bBack, *bForward, *toolbarStop, *toolbarRefresh;
IBOutlet UIActivityIndicatorView *_activityIndicator;

BOOL internetOK;
NSTimer *timer;

}
-(void)tryInternet;
-(void)loading;
-(void)startAnimating;
-(void)stopAnimating;
-(void)verifyInternet;
-(IBAction)refresh:(id)sender;
-(IBAction)dontTouchMe:(id)sender;
-(IBAction)refreshWebView:(id)sender;
@property (weak, nonatomic) IBOutlet UIWebView *webview;
@property(nonatomic,retain) UIActivityIndicatorView *activityIndicator;

そして私の.mファイルにはこれがあります:

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

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

なぜこれが機能しないのですか?あなたはなにか考えはありますか?

4

4 に答える 4

0

次のコードを使用して試してください。

- (void)webViewDidStartLoad:(UIWebView *)webView
{
 [_activityIndicator setActivityIndicatorViewStyle:UIActivityIndicatorViewStyleGray];
 [_activityIndicator setFrame:CGRectMake(200, 10, 20, 20)];
 [self.view addSubview:_activityIndicator];
 [_activityIndicator startAnimating];
}

- (void)webViewDidFinishLoad:(UIWebView *)webView {
 [_activityIndicator startAnimating];
}

私はそれがうまくいくことを願っています。

于 2013-01-02T04:52:40.320 に答える
0

.hファイルで、両方の名前を同じにします。つまり、activityIndi​​catorです。次に、.mファイルでそれを合成しますactivityIndicator = _activityIndicator。そして、次のコードを書きます-

- (void)webViewDidStartLoad:(UIWebView *)webView
{
 [activityIndicator setActivityIndicatorViewStyle:UIActivityIndicatorViewStyleGray];
 [activityIndicator startAnimating];
}

- (void)webViewDidFinishLoad:(UIWebView *)webView {
 [activityIndicator stopAnimating]; 
}
于 2013-01-02T05:05:34.413 に答える
0

ビューコントローラにデリゲートを接続していると思います。

そして、呼び出されwebViewDidStartLoadたの代理人がいるときはいつでもUIWebView、あなたのアニメーションが始まります。

webViewDidFinishLoadメソッドの代わりに、webViewFailedToLoadメソッドが呼び出していると思います。[activityIndicator stopAnimating];したがって、失敗したメソッド内にコードを記述する必要があります。

うまくいけば、それはあなたに役立つでしょう。

乾杯!

于 2013-01-02T05:41:10.457 に答える
0

私はそれを解決しました。私が変更され:

@property(nonatomic,retain) UIActivityIndicatorView *activityIndicator;

@property(nonatomic,retain) IBOutlet UIActivityIndicatorView *activityIndicator;
于 2013-01-04T12:05:37.083 に答える