所以我正在构建一个 iOS 应用程序,并将我的 UINavigationBar 自定义为高于默认大小。然而,出现了几个问题。
我的内容就像 UINavigationBar 是默认高度一样。这导致 y=0 处的任何视图实际上被我更高的 UINavigationBar 隐藏或部分隐藏。我必须手动将视图向下放置正确的偏移量,这不是一个非常大的问题,但我很好奇是否有人找到了解决此问题的方法。本质上,我的 UINavigationBar 被视为具有较大背景图像的普通 UINavigationBar。
如果被点击的部分低于普通 UINavigationBar 的典型 44px 底部,则我的 UINavigationBar 中的任何视图/按钮都不可点击。正常范围内的任何东西都可以正常工作,但低于 44px 标记它不会注册。再次,就好像我的 UINavigationBar 被应用程序视为具有正常高度但背景图像很大的一个。这是一个我真正需要解决的更关键的问题。
这是修改我的 UINavigationBar 的代码:
[[UINavigationBar appearance] setBackgroundImage:[UIImage imageNamed:@"navBarBackground_iPhone.png"] forBarMetrics:UIBarMetricsDefault];
[self.navController.navigationBar setBackgroundColor:[UIColor whiteColor]];
[self.navController.navigationBar setFrame:CGRectMake(0, 0, self.frame.size.width, 72)];
这是在我的-makeKeyAndVisible
UINavigationController 被分配并使用根视图控制器初始化后在我的主窗口中执行的。背景图像宽 320 像素,高 72 像素(@2x 版本的两倍)。
如您所见,我尝试在此处设置 UINavigationBar 的高度,在这部分代码之后它似乎没有粘住。它恢复为 44 像素。
我尝试将 UINavigationBar 子类化,但没有成功。任何帮助是极大的赞赏。