UIRefreshControl警告:CUICatalog:无效的资产名称或无效的比例因子

时间:2014-02-22 13:35:31

标签: ios ios7 uirefreshcontrol

我在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

中收到此消息的警告

这并没有打断我的应用程序,但是,我想了解这条消息的来源并避免它。

2 个答案:

答案 0 :(得分:0)

检查您是否有配对的@ 2x图像。

如果您使用故事板,还要检查图像是否在图像字段中具有名称。

我突然想到图像在故事板中,但字段中的名字已被清除。

答案 1 :(得分:0)

所以基本上这与refreshcontrol无关,但是在初始化图像时使用了图像名称。 我曾经这样做过:

[UIImage imageNamed:[someDictionary objectForKey:@"imageKey"]];

但我真正需要做的是:

[UIImage imageNamed:[NSString stringWithFormat:@"%@",[someDictionary objectForKey:@"imageKey"]]];

因此,通过将其转换为NSString,不再产生错误。当然你需要一个@ 2x配对图像,但即使你有这些图像,如果没有NSString这个名字,你仍然会收到这个错误。