UIActivityIndicatorViewスピナーサークルをUIBarButtonに追加して、ユーザーがナビゲーションバーのこれらのボタンの1つをタップすると、読み込み中にスピナーが表示されるようにするにはどうすればよいですか?
15722 次
6 に答える
49
ナビゲーションバーボタンにアクティビティホイールを表示しようとしている場合(たとえば、ナビゲーションバーに更新ボタンがある場合)-UIBarButtonItem
カスタムビューを使用して新しいものを作成できますUIActivityIndicatorView
:
Objective-C
uiBusy = [[UIActivityIndicatorView alloc] initWithActivityIndicatorStyle:UIActivityIndicatorViewStyleWhite];
uiBusy.hidesWhenStopped = YES;
[uiBusy startAnimating];
[self.navigationItem.rightBarButtonItem initWithCustomView:uiBusy];
迅速
let uiBusy = UIActivityIndicatorView(activityIndicatorStyle: .White)
uiBusy.hidesWhenStopped = true
uiBusy.startAnimating()
self.navigationItem.rightBarButtonItem = UIBarButtonItem(customView: uiBusy)
rightBarButtonItem
これはあなたをスピニングホイールで上書きします。完了したら、を再作成するだけですrightBarButtonItem
。
于 2011-02-01T20:22:54.553 に答える
6
activityIndicator = [[UIActivityIndicatorView alloc] initWithActivityIndicatorStyle:UIActivityIndicatorViewStyleWhite];
activityIndicator.hidesWhenStopped = YES;
self.navigationItem.rightBarButtonItem = [[UIBarButtonItem alloc] initWithCustomView:activityIndicator];
必要な場所に次のものを配置します。
[activityIndicator startAnimating];
[activityIndicator stopAnimating];
于 2013-02-21T08:00:34.700 に答える
2
実際には、アクティビティインジケータはツールバー項目として追加されません。現在のビューのサブビューです。
UIActivityIndicatorView *act = [[UIActivityIndicatorView alloc] initWithActivityIndicatorStyle:UIActivityIndicatorViewStyleWhite];
[act setCenter:CGPointMake(20, 20)];
[act startAnimating];
[self.view addSubview:act];
でリリースすることを忘れないでください-(void)dealloc
。
于 2009-11-12T07:59:14.823 に答える
0
このメソッドを使用する
-(void)startAniatingActivityIndicator{
@try {
activityIndicator = [[UIActivityIndicatorView alloc] initWithActivityIndicatorStyle:UIActivityIndicatorViewStyleWhite];
activityIndicator.frame = CGRectMake(self.window.frame.size.width-30, 32.5, activityIndicator.bounds.size.width, activityIndicator.bounds.size.height);
[self.window addSubview:activityIndicator];
[activityIndicator startAnimating];
[self.window bringSubviewToFront:activityIndicator];
}
@catch (NSException *exception) {
}
@finally {
}
}
-(void)stopAniatingActivityIndicator{
[activityIndicator stopAnimating];
[activityIndicator removeFromSuperview];
activityIndicator = nil;
}
于 2014-04-26T05:54:32.623 に答える
-1
UIActivityIndicatorViewはビューの一種です。フレームをボタン内に設定し、-addSubviewを使用してUIBarButtonのビュー階層に追加します。
スペースに合わせて(おそらくスケーリングによって)中央に配置する必要があるため、単純化しすぎています...
于 2009-11-12T05:38:20.083 に答える
-2
擬似コード、Xcodeでこれをチェックするつもりはありませんが、次のようなものが機能するはずです:
UIActivityIndicatorView *act = [[UIActivityIndicatorView alloc] init];
act.frame = CGMakeRect(3,3,25,25);
[myBarButton addSubview:act];
[act release];
于 2009-11-12T05:41:49.563 に答える