我一直在开发一款 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 的问题吗?有什么建议的解决方法吗?我尝试暂时删除该图层,甚至创建一个新的最小标签,如果仅此字符,则结果相同,结果为黑色,如果有其他字符,则结果为红色。
更新和修复对我有用,但仍然很奇怪。如果其他人遇到这个晦涩的问题,我发现使用命名字体而不是系统字体似乎可以解决它。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)