UIRefreshControl警告:CUICatalog:无效的资产名称或无效的比例因子
问题描述:
我几乎每次调用这个函数在我viewDidLoad
UIRefreshControl警告:CUICatalog:无效的资产名称或无效的比例因子
- (void)addRefreshControl {
refreshControl = [[UIRefreshControl alloc] init];
[refreshControl setAttributedTitle:[[NSAttributedString alloc] initWithString:NSLocalizedString(@"Pull to refresh", nil)]];
[refreshControl addTarget:self
action:@selector(refreshView)
forControlEvents:UIControlEventValueChanged];
[self setRefreshControl:refreshControl];
}
我拉来刷新我就要警告在调试这个消息CUICatalog: Invalid asset name supplied: (null), or invalid scale factor: 2.000000
这不是打扰我的应用程序,但是,我想知道这个消息来自哪里并避免它。
答
所以基本上这与refreshcontrol无关,但与init'ing图像时使用的图像名称。 我曾经这样做:
[UIImage imageNamed:[someDictionary objectForKey:@"imageKey"]];
但我真正需要做的是这样的:
[UIImage imageNamed:[NSString stringWithFormat:@"%@",[someDictionary objectForKey:@"imageKey"]]];
因此,通过把它变成一个NSString,不再被产生的误差。当然你需要有一个@ 2x配对的图像,但即使你有这些,没有NSString'的名字,你仍然会得到这个错误。
答
检查您是否有配对的@ 2x图像。
如果您是故事板,还请检查图像是否在图像字段中有名称。
就在我身上发现图像是在故事板中,但在该字段中的名称已被清除。
是的,我有一个配对的@ 2x图像,是的图像的名称是相同的。经过长时间的搜索+试验和错误,我发现你实际上需要NSString它的图像的名字出来的字典,就像我的。谢谢! – Martijn