1

所以,我得到了这个基于导航的应用程序(带有自定义 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

由于基于导航的应用程序,大多数视图的高度为436 像素(= 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,这似乎是个问题,因为当通过点击后退按钮弹出视图控制器时,包含缩略图的视图(高度436px)在导航栏下方向上移动。工具栏也不断显示。可能是什么问题呢?

编辑:当显示导航和工具栏(最初隐藏)时,全屏滚动视图也在移动。即使没有自定义导航栏,我也会看到浮动的视图。这很奇怪。

问题 2:如何在自定义导航栏和标准黑色半透明样式之间切换?

4

1 回答 1

0

京东,

问题 1:请澄清您的问题....您是否试图使其与照片应用程序相同,您单击一张照片,然后您可以隐藏导航栏和工具栏?除非您明确隐藏工具栏,否则当您通过点击后退按钮弹出视图时,它将继续显示。您可以延迟弹出视图并将其隐藏或隐藏在viewDidAppear先前视图控制器的方法中。

如果您的视图正在移动,您可能需要检查 IB 中的框架设置(单击相关视图后,检查器窗口中的第二个到最后一个选项卡)。此外,请确保您将伪造的导航栏放入您的 XIB 文件中,以便您可以正确布置所有内容。

问题2:

首先,查看这篇文章:在 iphone 的 uinavigationbar 上使用图像或色调颜色?

然后也使用它:

self.navigationController.navigationBar.barStyle = UIBarStyleBlackTranslucent;
于 2010-05-24T20:37:37.490 回答