UIActivityIndi​​cator在较旧的iOS版本上设置颜色崩溃

时间:2012-10-31 16:19:00

标签: ios crash uiactivityindicatorview

我在加载屏幕上插入了一个UIActivityIndi​​cator。 当我将颜色更改为黑色时,它在iOS 6.0版本的设备上运行正常,但在旧版本的设备上崩溃。 这是我的代码:

indicator = [[UIActivityIndicatorView alloc]initWithFrame:CGRectMake(110, 275, 30, 30)];
[indicator setColor:[UIColor blackColor]];//in this line i get crash.
[indicator startAnimating];
[self addSubview:indicator];

有人可以告诉我如何解决这个问题?

非常感谢,

埃拉德。

2 个答案:

答案 0 :(得分:2)

UIActivityIndicatorView仅支持更改iOS 5.0及更高版本的颜色。

您可以使用UIActivityIndicatorView测试respondsToSelector:是否支持更改颜色。

indicator = [[UIActivityIndicatorView alloc]initWithFrame:CGRectMake(110, 275, 30, 30)];

// Check if indicator supports changing the color
if ([indicator respondsToSelector:@selector(setColor:)]) {
    [indicator setColor:[UIColor blackColor]];
}

[indicator startAnimating];  
[self addSubview:indicator];

答案 1 :(得分:1)

根据the documentationcolor的{​​{1}}属性仅适用于iOS5。如果结果可以接受,您可以随时检查并在较旧的iOS版本上跳过它吗?