我在 UITextField 上有一个奇怪的异常。我解决了它,但不知道为什么会这样。运行应用程序后,我将 UITextField 外观设置如下:
UITextField *textfieldAppearance = [UITextField appearance];
textfieldAppearance.font = [_theme textfieldFont];
textfieldAppearance.textColor = [_theme textfieldColor];
if (textDirectionRTL) {
textfieldAppearance.textAlignment = NSTextAlignmentRight;
}
textfieldAppearance.backgroundColor = [UIColor clearColor];
如您所见,它没有什么不寻常的地方,但是当带有 UITextField 的控制器打开时,我得到一个 __CFStringEncodeByteStream + 17 EXC_BAD_ACCESS 异常。
解决方案是注释掉backgroundColor设置。我在 UITextView 上有完全相同的外观设置,一切正常。此外,当我在 awakeAfterUsingCoder 中的代码中设置 UITextField 背景颜色时,一切都像魅力一样。我在 XCode 版本 4.6.3 (4H1503) 模拟器中运行该应用程序
这种奇怪的行为有什么线索吗?