我一直在开发一个 iOS 应用程序,最近“升级”到 xCode 4.3.1 和 iOS 5.1 模拟器,并且只有一个字符有一个非常奇怪的问题。它在字符查看器中称为“重复选标记”,在我的 5.0.1 及更低版本的应用程序中看起来很棒,并使用 .textColor = [UIColor redColor] 着色。在 5.1 中,它在模拟器中显示为黑色,由于我的手机已越狱,我没有在 5.1 中在实际设备上检查它。如果我输入任何其他字符,它会显示为红色,但是这个特定的字符总是显示为黑色。如果我在它之前放了一个空格,它会显示为红色,但间距是关闭的,因为我正在使用一个图层作为边框。下面是实际代码,但我尝试了一个更简单的标签并且遇到了同样的问题。
isChecked = [[[UILabel alloc] initWithFrame:CGRectMake(20.0,9.0,20,20)] autorelease];
isChecked.font = [UIFont boldSystemFontOfSize:24.0];
isChecked.backgroundColor = [UIColor clearColor];
isChecked.textColor = [UIColor redColor];
isChecked.layer.borderColor = [UIColor blackColor].CGColor;
isChecked.layer.borderWidth = 2.0;
isChecked.text = @"✔";
isChecked.tag = 2;
[cell.contentView addSubview:isChecked];
还有其他人遇到这个或其他特殊字符和 UILabel.textColor 的问题吗?任何建议的解决方法?我已经尝试暂时删除该图层,甚至创建一个新的最小标签,如果只有这个字符,则相同的结果为黑色,如果有其他字符,则为红色。