原文:http://blog.csdn.net/yancechen2013/article/details/52764073
最近开发,碰到的问题,用户用的不是iOS自带的系统输入法而是类似搜狗输入法这种三方输入法时,当点击应用内任意输入框时,应用会直接crash掉;具体报错信息如下:
Assertion failure in -[UICGColor encodeWithCoder:]
崩溃信息:
大致意思是说”这种情形下只能支持三原色和白色空间形式”;
出现错误原因是在项目中使用了以下代码:
UINavigationBar *bar = [UINavigationBar appearance];
[bar setTitleTextAttributes:@{NSFontAttributeName:[UIFont systemFontOfSize:20], NSForegroundColorAttributeName:[UIColor redColor]}];
// [bar setBackgroundImage:[UIImage imageNamed:@"topbg"] forBarMetrics:UIBarMetricsDefault];
bar.translucent = NO;
bar.barTintColor = [UIColor colorWithPatternImage:[UIImage imageNamed:@"topbg"]];
解决方案:
将设置UINavigationBar的barTintColor颜色的代码写到每个控制器中就可以解决问题。