为什么我们没有UIBarMetricsLandscapePad?

时间:2013-01-27 16:53:45

标签: ios objective-c ipad

如何在细节分割视图中为导航栏设置不同的背景图像,使其处于横向而不是纵向?

这是我使用的代码

[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像素)模式下detailView的宽度与横向模式(704像素)不同,那么我们如何为每个图像设置不同的图像呢?

1 个答案:

答案 0 :(得分:2)

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

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

如果要在旋转时更改图像,则必须执行此操作以响应旋转事件。