【发布时间】:2013-11-22 13:40:14
【问题描述】:
我正在开发一个带有自定义 UINavigationBar 的选项卡式应用程序。每当我在 iOS 模拟器中打开控制中心时,Xcode 中的命令行总是给我以下错误:
CGImageCreate:无效的图像大小 0 x 0。
它出现在每个 ViewController 中,即使是空的。
这可能与自定义 UINavigationBar 或 TabBar 相关吗?
这是我用于标签栏的 appdelegate.m 文件中的代码
DMFirstViewController *firstViewController = [[DMFirstViewController alloc] init];
DMSecViewController *secondViewController = [[DMSecViewController alloc] init];
DMThirdViewController *thirdViewController = [[DMThirdViewController alloc] init];
DMFourthViewController *fourthViewController = [[DMFourthViewController alloc] init];
tabController = [[UITabBarController alloc] init];
NSArray* controllers = [NSArray arrayWithObjects:firstViewController, secondViewController, thirdViewController, fourthViewController, nil];
tabController.viewControllers = controllers;
UIImage *unselectedTabFirst = [UIImage imageNamed:@"first_line.png"];
UIImage *selectedTabFirst = [UIImage imageNamed:@"first_active.png"];
UIImage *unselectedTabSec = [UIImage imageNamed:@"second_line.png"];
UIImage *selectedTabSec = [UIImage imageNamed:@"second_active.png"];
UIImage *unselectedTabThird = [UIImage imageNamed:@"third_line.png"];
UIImage *selectedTabThird = [UIImage imageNamed:@"third_active.png"];
UIImage *unselectedTabFourth = [UIImage imageNamed:@"fourth_line.png"];
UIImage *selectedTabFourth = [UIImage imageNamed:@"fourth_active.png"];
unselectedTabFirst = [unselectedTabFirst imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal];
selectedTabFirst = [selectedTabFirst imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal];
unselectedTabSec = [unselectedTabSec imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal];
selectedTabSec = [selectedTabSec imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal];
unselectedTabThird = [unselectedTabThird imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal];
selectedTabThird = [selectedTabThird imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal];
unselectedTabFourth = [unselectedTabFourth imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal];
selectedTabFourth = [selectedTabFourth imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal];
firstViewController.tabBarItem = [[UITabBarItem alloc] initWithTitle:@"first" image:unselectedTabFirst selectedImage:selectedTabFirst];
secondViewController.tabBarItem = [[UITabBarItem alloc] initWithTitle:@"second" image:unselectedTabSec selectedImage:selectedTabSec];
thirdViewController.tabBarItem = [[UITabBarItem alloc] initWithTitle:@"third" image:unselectedTabThird selectedImage:selectedTabThird];
fourthViewController.tabBarItem = [[UITabBarItem alloc] initWithTitle:@"fourth" image:unselectedTabFourth selectedImage:selectedTabFourth];
【问题讨论】:
-
是的,确实如此。您应该发布自定义导航以消除错误...
标签: ios objective-c uinavigationbar uitabbar