2014-02-22 55 views
1

我幾乎每次調用這個函數在我viewDidLoadUIRefreshControl警告: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

這不是打擾我的應用程序,但是,我想知道這個消息來自哪裏並避免它。

回答

0

所以基本上這與refreshcontrol無關,但與init'ing圖像時使用的圖像名稱。 我曾經這樣做:

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

但我真正需要做的是這樣的:

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

因此,通過把它變成一個NSString,不再被產生的誤差。當然你需要有一個@ 2x配對的圖像,但即使你有這些,沒有NSString'的名字,你仍然會得到這個錯誤。

0

檢查您是否有配對的@ 2x圖像。

如果您是故事板,還請檢查圖像是否在圖像字段中有名稱。

就在我身上發現圖像是在故事板中,但在該字段中的名稱已被清除。

+0

是的,我有一個配對的@ 2x圖像,是的圖像的名稱是相同的。經過長時間的搜索+試驗和錯誤,我發現你實際上需要NSString它的圖像的名字出來的字典,就像我的。謝謝! – Martijn

相關問題