2

当导航栏处于横向而不是纵向时,如何在详细拆分视图中为导航栏设置不同的背景图像?

这是我使用的代码

[self.topNavbar setBackgroundImage:[UIImage imageNamed:@"nav-bar-portrait-ipad"]
                                   forBarMetrics:UIBarMetricsDefault];
[self.topNavbar setBackgroundImage:[UIImage imageNamed:@"nav-bar-landscape-ipad"]
                                   forBarMetrics:UIBarMetricsLandscapePhone];

当 splitView 旋转为横向时,永远不会调用 UIBarMetricsLandscapePhone。纵向(768 px)模式下 detailView 的宽度与横向模式(704 px)不同,那么我们如何为每个设置不同的图像呢?

4

1 回答 1

2

导航栏在 iPad 上不会在不同方向改变高度,因此没有单独的栏指标(不需要不同高度的图像)。

在 iPhone 上,横向的导航栏比纵向的要短,因此需要不同的图像(渐变图像不能很好地缩放)。导航背景通常一直是相同的,因此宽度通常不是考虑因素。

如果要更改旋转图像,则必须响应旋转事件。

于 2013-01-27T17:20:27.623 回答