繁体   English   中英

从UIButton视图中删除活动指示器子视图

[英]Remove Activity Indicator subview from UIButton view

我用几个按钮构建了一个界面。 这些按钮从互联网上获取有关其标题的信息。 我将UIActivityIndi​​cator添加到视图中的每个按钮,如下所示:

- (void) addActivityIndicator {
    UIButton * button;

    for (int i = 1; i <= 10; i++){
        button = (UIButton *)[self viewWithTag:i];
        NSLog(@"Button: %i",i);
        [button setTitle:@"" forState:UIControlStateNormal];
        button.enabled = NO;

         UIActivityIndicatorView * buttonSpinner = [[UIActivityIndicatorView alloc] initWithActivityIndicatorStyle:UIActivityIndicatorViewStyleGray];
        [buttonSpinner startAnimating];
        buttonSpinner.tag = i;
        buttonSpinner.frame = button.bounds;
        [button addSubview:buttonSpinner];
    }

}

但是,我似乎无法访问各个指标以将其删除。

[(UIButton *)[self viewWithTag:tag] setTitle:[NSString stringWithFormat:@"%@",[self addTitle:i]] forState:UIControlStateNormal];
[(UIButton *)[self viewWithTag:tag] setEnabled:YES];
[(UIButton *)[self viewWithTag:tag] [buttonSpinner stopAnimating]];

有什么想法吗?

    for (int i = 1; i <= 10; i++){
        button = (UIButton *)[self viewWithTag:i];
        NSLog(@"Button: %i",i);
        [button setTitle:@"" forState:UIControlStateNormal];
        button.enabled = NO;

         UIActivityIndicatorView * buttonSpinner = [[UIActivityIndicatorView alloc] initWithActivityIndicatorStyle:UIActivityIndicatorViewStyleGray];
        [buttonSpinner startAnimating];
        buttonSpinner.tag = i*99;
        buttonSpinner.frame = button.bounds;
        [button addSubview:buttonSpinner];
    }

然后,获取UIActivityIndicatorView

[(UIActivityIndicatorView *)[(UIButton *)[self viewWithTag:tag] viewWithTag:tag] stopAnimating];

也许您可以尝试遍历子视图并将其删除?

UIButton *button = [UIButton buttonWithType:UIButtonTypeRoundedRect];

UIActivityIndicatorView *toRemove;
for (UIView *view in button.subviews)
{
    if ([view isKindOfClass:[UIActivityIndicatorView class]])
    {
        toRemove = (UIActivityIndicatorView *)view;
        break;
    }
}
[toRemove removeFromSuperview];

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM