tableview在不同的ios版本中显示不同的颜色

时间:2012-03-29 05:05:42

标签: iphone ios

我的应用中有一个tableview,我设置了tint=1.0。在编码中,我将背景颜色设置为清晰的颜色。当我使用iOS 4.3在iphone上测试时,它正确显示了tableview,但是当我在iphone中使用iOS 4.1进行测试时,它会显示整个黑色表格。

这是我用来在代码中应用颜色的代码

[cell setBackgroundColor:[UIColor clearColor]]; //changing backgroung color
UIView *bgColorView = [[UIView alloc] init];
[bgColorView setBackgroundColor:[UIColor darkGrayColor]];
[cell setSelectedBackgroundView:bgColorView]; //selected color
[bgColorView release];

我在这里缺少什么?

1 个答案:

答案 0 :(得分:1)

首先,您需要将问题分成2个。

到你的第一部分。我不记得一个具体的例子,但你可以使用一些指令#ifdef来定义各种iOS版本的各种代码。

到你的第二部分:

self.mFavoritesNamesArray=[[beginWithB  sortedArrayUsingSelector:@selector(caseInsensitiveCompare:)] mutableCopy]; //here it is showing leak

我没有看到整个代码,但我认为您使用retain或copy修饰符定义了属性mFavoritesNamesArray。所以你可能会通过自动生成的方法和第二次通过mutableCopy为方法分配内存。

可能的解决方案是在最后一个字符串之前手动释放此数组,并在没有“self”的情况下使用它。在这种情况下,您不需要属性。我认为类似的错误出现在你的代码的第一个字符串中,但由于代码数量很少,我无法确定它是什么