CGRectMake在UITabBarController中不起作用

时间:2014-03-03 23:23:47

标签: objective-c uitabbarcontroller

我在TabBarItem中有这段代码:

MeuPrimeiroViewController *primeiro = [[MeuPrimeiroViewController alloc] init];
    MeuSegundoViewController *segundo = [[MeuSegundoViewController alloc]init];

    UITabBarController *tabbar = [[UITabBarController alloc] init];

    tabbar.viewControllers = [NSArray arrayWithObjects:primeiro,segundo, nil];

    primeiro.tabBarItem.title = @"Primeiro";

    UIImage *images = [UIImage imageNamed:@"1.jpg"];
    [images drawInRect:CGRectMake(0, 0, 30, 30)];

    primeiro.tabBarItem.image = images;
    segundo.tabBarItem.title = @"Segundo";
    segundo.tabBarItem.image = [UIImage imageNamed:@"2.jpg"];

CGRectMake不起作用,控制台给我一个消息:

  

Mar 3 20:17:04 MacBook-Pro-de-William.local UITabBarController [1174]   :CGContextSaveGState:无效的上下文0x0。这是一个严肃的问题   错误。此应用程序或其使用的库使用无效   上下文,从而导致整体退化   系统稳定性和可靠性。这个通知是礼貌的:拜托   解决这个问题。它将成为即将到来的更新中的致命错误。   3月3日20:17:04 MacBook-Pro-de-William.local UITabBarController [1174]   :CGContextSetBlendMode:无效的上下文0x0。这是一个严肃的问题   错误。此应用程序或其使用的库使用无效   上下文,从而导致整体退化   系统稳定性和可靠性。这个通知是礼貌的:拜托   解决这个问题。它将成为即将到来的更新中的致命错误。   3月3日20:17:04 MacBook-Pro-de-William.local UITabBarController [1174]   :CGContextSetAlpha:无效的上下文0x0。这是一个严肃的问题   错误。此应用程序或其使用的库使用无效   上下文,从而导致整体退化   系统稳定性和可靠性。这个通知是礼貌的:拜托   解决这个问题。它将成为即将到来的更新中的致命错误。   3月3日20:17:04 MacBook-Pro-de-William.local UITabBarController [1174]   :CGContextTranslateCTM:无效的上下文0x0。这是一个严肃的问题   错误。此应用程序或其使用的库使用无效   上下文,从而导致整体退化   系统稳定性和可靠性。这个通知是礼貌的:拜托   解决这个问题。它将成为即将到来的更新中的致命错误。   3月3日20:17:04 MacBook-Pro-de-William.local UITabBarController [1174]   :CGContextScaleCTM:无效的上下文0x0。这是一个严肃的问题   错误。此应用程序或其使用的库使用无效   上下文,从而导致整体退化   系统稳定性和可靠性。这个通知是礼貌的:拜托   解决这个问题。它将成为即将到来的更新中的致命错误。   3月3日20:17:04 MacBook-Pro-de-William.local UITabBarController [1174]   :CGContextDrawImage:无效的上下文0x0。这是一个严肃的问题   错误。此应用程序或其使用的库使用无效   上下文,从而导致整体退化   系统稳定性和可靠性。这个通知是礼貌的:拜托   解决这个问题。它将成为即将到来的更新中的致命错误。   3月3日20:17:04 MacBook-Pro-de-William.local UITabBarController [1174]   :CGContextRestoreGState:无效的上下文0x0。这是一个   严重错误。此应用程序或它使用的库正在使用   无效的上下文,从而导致整体退化   系统稳定性和可靠性。这个通知是礼貌的:拜托   解决这个问题。在即将到来的更新中,它将成为一个致命的错误。

我该如何解决?

1 个答案:

答案 0 :(得分:1)

CGRectMake工作正常。您的问题是您正在尝试将图像绘制到不存在的上下文中。调用drawInRect:会将图像绘制到当前上下文中,而您没有(因为您没有创建/您的代码未在drawRect:中运行)。

您的线路呼叫drawInRect:似乎不是必需的,因此请将其删除。并考虑一下你用这条线试图实现的目标。