0

このコードを使用して、UIActivityIndi​​catorViewをツールバーに挿入しています

-(void)addActivityIndicatorToToolbar {
    UIActivityIndicatorView *activityIndicator = [[UIActivityIndicatorView alloc] initWithFrame:CGRectMake(0, 0, 20, 20)];
    activityIndicator.userInteractionEnabled = YES;
    activityIndicator.activityIndicatorViewStyle = UIActivityIndicatorViewStyleWhite;
    [activityIndicator startAnimating];

    UIBarButtonItem *barButton = [[UIBarButtonItem alloc] initWithCustomView:activityIndicator];
    barButton.target = self;
    barButton.action = @selector(playButtonPressed:);

    NSMutableArray *toolbarItemsMutable = [self.toolbar.items mutableCopy];
    [toolbarItemsMutable replaceObjectAtIndex:0 withObject:barButton];
    self.toolbar.items = toolbarItemsMutable;  
}

ただし、UIActivityIndi​​catorViewをタップすると、アクション(playButtonPressed)は実行されません。

どうすればこれを修正できますか?

4

3 に答える 3

1

内部にアクティビティインジケーターが付いたボタンが必要になる可能性が高くなります。これを行うには、この投稿で説明されているように、カスタムビューでボタンを作成します。次に、このボタンのアクションを通常どおりに設定できます。アクティビティインジケーターへの参照を保持して、開始および停止することをお勧めします。

于 2012-08-31T11:20:05.760 に答える
0

私は、gestureRecognizerを使用してactivityIndi​​catorViewの上に追加のビューを追加することにより、貧乏人のソリューションを実装することになりました。

于 2012-09-18T16:08:46.633 に答える
0

UITapGestureRecognizerこれはかなり古い質問ですが、インスタンスをインスタンスに直接追加してみませんUIActivityIndicatorViewか?(iOS 8.2では正常に動作しますが、以前のバージョンではまだテストしていません)。

于 2015-04-05T19:49:48.033 に答える