1

WebView(内部にWebサイトをロード)であるViewControllerがあり、ロードを開始してナビゲーションコントローラーに残っているUIActivityIndi​​catorを表示し、ロードが完了したらそれを削除します。

ナビゲーションコントローラーが埋め込まれたViewControllerを使用していて、IB UIIndicatorを重ねようとしましたが、成功しませんでした。コンテンツ部分に配置されているため、プログラムでナビゲーションバーの左側にインジケーターを配置する方法を教えてください。

手伝ってくれてありがとう

4

2 に答える 2

3

残念ながら、ストーリーボードのみを使用してナビゲーションバーにアクティビティインジケーターを配置することはできません。

アクティビティインジケータのインスタンス変数を作成します。

@implementation
{
    UIActivityIndicatorView *activityIndicator;
}
...

viewDidLoadメソッドで、インスタンス化してナビゲーションバーに追加します。

activityIndicator = [[UIActivityIndicatorView alloc] initWithActivityIndicatorStyle:UIActivityIndicatorViewStyleWhite];
self.navigationItem.leftBarButtonItem = [[UIBarButtonItem alloc] initWithCustomView:activityIndicator];

プロパティhidesWhenStoppedYESデフォルトであるため、自動的にアニメーション化されていない場合は非表示になります。あなたがしなければならないのは、あなたがそれをそれぞれ表示または非表示にしたいときにstartAnimating呼び出すことです。stopAnimating

于 2012-05-07T01:32:06.967 に答える
0

これを試して:

UIBarButtonItem *button = [[UIBarButtonItem alloc] initWithCustomView:activityIndicator];
self.navigationController.navigationItem.leftBarButtonItem = button;
于 2012-05-06T23:34:03.733 に答える