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

这是一个很老的问题,但你为什么不直接UITapGestureRecognizer向你的实例添加一个UIActivityIndicatorView实例呢?(在 iOS 8.2 上运行良好,我还没有在以前的版本上测试过)。

于 2015-04-05T19:49:48.033 回答
0

我最终通过在activityIndi​​catorView 顶部添加一个带有gestureRecognizer 的额外视图来实现一个穷人的解决方案。

于 2012-09-18T16:08:46.633 回答