我在viewDidLoad
- (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
这并没有打断我的应用程序,但是,我想了解这条消息的来源并避免它。
答案 0 :(得分:0)
检查您是否有配对的@ 2x图像。
如果您使用故事板,还要检查图像是否在图像字段中具有名称。
我突然想到图像在故事板中,但字段中的名字已被清除。
答案 1 :(得分:0)
所以基本上这与refreshcontrol无关,但是在初始化图像时使用了图像名称。 我曾经这样做过:
[UIImage imageNamed:[someDictionary objectForKey:@"imageKey"]];
但我真正需要做的是:
[UIImage imageNamed:[NSString stringWithFormat:@"%@",[someDictionary objectForKey:@"imageKey"]]];
因此,通过将其转换为NSString,不再产生错误。当然你需要一个@ 2x配对图像,但即使你有这些图像,如果没有NSString这个名字,你仍然会收到这个错误。