所以,我得到了这个基于导航的应用程序(带有自定义NavigationBar - 类别),我在这里有 2 问题......
@implementation UINavigationBar (Custom)
- (void)drawRect:(CGRect)rect {
UIImage *image = [UIImage imageNamed: @"bg_toolbar.png"];
[image drawInRect:CGRectMake(0, 0, self.frame.size.width, self.frame.size.height)];
}
@end
由于基于导航的应用程序,大多数视图的高度 436px (= ScreenSize - NavigationBar高度,您可能知道;)。
我有一个类似于照片应用程序概述的视图,显示所有缩略图,从那里我推动包含滚动视图的视图控制器(如在照片应用程序中),就像这样
- (void)buttonPressed:(id)sender
{
UIButton *btn = (UIButton *)sender;
PhotoSetScrollViewController *psc = [[PhotoSetScrollViewController alloc] initWithPhotoArray:photos andID:btn.tag];
[self.navigationController pushViewController:psc animated:YES];
}
问题1 : 持有全屏滚动视图的视图的高度 480px 这似乎是一个问题,因为当按下后退按钮弹出视图控制器时,包含缩略图的视图(高度< strong> 436px )向上移动到导航栏下方。并且工具栏一直在显示。可能是什么问题?
编辑:当显示导航和工具栏(最初隐藏)时,全屏滚动视图也会移动。即使没有自定义导航栏,我也可以看到周围的视图。这很奇怪。
问题2 : 如何在我的自定义导航栏和标准黑色半透明样式之间切换?
答案 0 :(得分:0)
JD,
问题1:请澄清您的问题....您是否尝试使其与照片应用程序相同,您点击一张照片,然后您可以隐藏导航栏和工具栏?除非您明确隐藏工具栏,否则当您通过点击后退按钮弹出视图时,它将继续显示。您可以延迟弹出视图并将其隐藏或隐藏在先前视图控制器的viewDidAppear
方法中。
如果您的视图四处移动,您可能需要检查IB中的框架设置(单击相关视图后,检查器窗口中的第二个选项卡)。另外,请确保将伪造的导航栏放在XIB文件中,这样就可以正确地放置所有内容。
问题2:
首先,请查看此帖子:using image or tint color on uinavigationbar in iphone?
然后使用它:
self.navigationController.navigationBar.barStyle = UIBarStyleBlackTranslucent;