CUICatalog:提供的资产名称无效:或无效比例因子:2.000000

时间:2014-04-24 06:55:20

标签: ios objective-c xcode uitableview uiviewcontroller

我有一个UiVIewController,我在其中拖动了一个表视图并放置了所有需要的连接,如委托和数据源,它工作得很好,一切都很棒。我试图设置这个表视图的背景,我得到了这个奇怪的错误

CUICatalog: Invalid asset name supplied: , or invalid scale factor: 2.000000

我尝试使用此方法设置背景:

UIImageView *tempImageView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"mypredictions_bg.png"]];
[tempImageView setFrame:self.tableView.frame];

self.tableView.backgroundView = tempImageView;

我缺少什么?我检查了图片的名称是否正确

4 个答案:

答案 0 :(得分:3)

我创建了一个调试类,它调用了imageNamed,以便你可以获得调试跟踪。

您需要安装JRSwizzle才能使用它。

https://github.com/rentzsch/jrswizzle

#import "UIImageDebugger.h"
#import "JRSwizzle.h"


@implementation UIImageDebugger

+ (void)startDebugging
{
    static dispatch_once_t once;

    dispatch_once(&once, ^{

        NSError *error=NULL;

        [UIImage jr_swizzleClassMethod:@selector(imageNamed:)
                       withClassMethod:@selector(hs_xxz_imageNamed:)
                                 error:&error];


        if (error)
        {
            NSLog(@"error setting up UIImageDebugger : %@",error);
        }
        else
        {
            NSLog(@"!!!!!!!!!!!!!!!!!!!!  UIImage swizzle in effect - take this out for release!!");
        }


    });

}

@end

@interface UIImage (UIViewDebugger)

+ (UIImage*)hs_xxz_imageNamed:(NSString *)name;

@end


@implementation UIImage (UIViewDebugger)

+ (UIImage*)hs_xxz_imageNamed:(NSString *)name
{
    if (!name)
    {
        NSLog(@"null image name at \n%@",[NSThread callStackSymbols]);
    }

    UIImage *image=[self hs_xxz_imageNamed:name];

    if (!image)
    {
        NSLog(@"failed to make image at \n%@",[NSThread callStackSymbols]);
    }

    return image;
}

@end

答案 1 :(得分:2)

在我的情况下,我为UIImageView和UITextfied制作了类别, 在那,有时候我不需要一个图像,那个时候我提供了@“”(即Null字符串),它出现问题,在一些R& DI供应只是“nil”而不是@“”之后,它解决了我的警告,所以也许这种类型的警告会在没有得到正确的图像的情况下发生。

答案 2 :(得分:0)

如果您的图片类型是png,则不必将其替换为图像文件名的末尾,因为默认的XCode图像类型已经是png。试试这个;

UIImageView *tempImageView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:[NSString stringWithFormat:@"mypredictions_bg"]]];

答案 3 :(得分:0)

在我的情况下,是指向错误的viewController。 我正在指向处理基于页面的ViewController内容的viewController,而不是链接到viewController,其中pageContentViewController和PageViewController被链接在一起。希望这会有所帮助。