我在appdelegate中设置了自定义导航栏。你可以在这里看到代码。
UIImage *image = [UIImage imageNamed:@"navbar.png"];
[[UINavigationBar appearance] setBackgroundImage:image forBarMetrics:UIBarMetricsDefault];
但现在我正在使用eventkit框架。我想要的是当我去eventdetails,我得到标准的导航栏布局。没有图像。
EKEventViewController *vc = [[EKEventViewController alloc] init];
[vc.navigationController.navigationBar setBackgroundImage:nil forBarMetrics:UIBarMetricsDefault];
vc.event = [dataSource eventAtIndexPath:indexPath];
vc.allowsEditing = YES;
[calendar.navigationController pushViewController:vc animated:YES];
我尝试过以下但是没有用。 有什么帮助吗?
答案 0 :(得分:1)
你可以做一件事,用一个带有默认导航栏的viewController的截图,只裁剪导航栏区域,即制作320 x 44大小的图像。
如果您想再次使用默认导航栏,那么使用此裁剪图像作为导航栏的背景,添加以下代码
UIImage *image = [UIImage imageNamed:@"defaultNavbar.png"];
[[UINavigationBar appearance] setBackgroundImage:image forBarMetrics:UIBarMetricsDefault];
再次导航到另一个具有自定义Navimage的viewController时,再次借助自定义图像代码绘制导航图像,即
UIImage *image = [UIImage imageNamed:@"navbar.png"];
[[UINavigationBar appearance] setBackgroundImage:image forBarMetrics:UIBarMetricsDefault];