尝试在iOS 7中的自定义单元格中显示活动指示器

时间:2013-11-05 09:04:51

标签: ios uitableview ios7 custom-controls uiactivityindicatorview

我在xib文件中定义了一个自定义单元格,稍后我以编程方式将UIActivityIndicatorView放在视图控制器中。这适用于iOS 6及更早版本,但我无法在iOS 7中看到活动指示器。

我这样做:我首先在视图控制器的nib

中注册viewDidLoad
[self.tableView registerNib:[UINib nibWithNibName:@"CustomCell" bundle:nil] forCellReuseIdentifier:@"customCell"];

然后,在cellForRowAtIndexPath:中,如果系统版本为7.0或更高,我会这样做:

        UIActivityIndicatorView *activityIndicator = [[UIActivityIndicatorView alloc] initWithActivityIndicatorStyle:UIActivityIndicatorViewStyleGray];
        activityIndicator.frame = CGRectMake(259, 21, activityIndicator.frame.size.width, activityIndicator.frame.size.height);
        [cell.contentView addSubview:activityIndicator];

但是,正如我所说,活动指标未显示。 iOS7中的子视图应该添加到单元格contentView中,我是否遗漏了其他内容?

由于

3 个答案:

答案 0 :(得分:0)

尝试使用此功能,在动画制作之前将活动指示颜色更改为清晰颜色。

[self.activityIndicator setBackgroundColor:[UIColor clearColor]];
[self.activityIndicator startAnimating];

即使它无效,请尝试在Animating

中的attributes inspector中取消选中IB行为

答案 1 :(得分:0)

我相信你已经通过使用界面构建器创建了单元格,即你的案例中的“Customcell”。但是通过在“cellForRowAtIndexPath”中编码来添加活动指示符是错误的。尝试使用界面构建器创建活动指示器,这很容易并在必要时在“cellForRowAtIndexPath”

中隐藏它

答案 2 :(得分:0)

改为使用[cell.contentView.view addSubview:activityIndicator]